//jquery.1.4.2-min.js   维度端前端网整理http://www.weiduduan.com/
(function (p, j) {
    function u() {
        if (!c.isReady) {
            try {
                v.documentElement.doScroll("left")
            } catch (a) {
                setTimeout(u, 1);
                return
            }
            c.ready()
        }
    }

    function t(a, b) {
        b.src ? c.ajax({
            url: b.src,
            async: false,
            dataType: "script"
        }) : c.globalEval(b.text || b.textContent || b.innerHTML || "");
        b.parentNode && b.parentNode.removeChild(b)
    }

    function o(a, b, e, g, f, l) {
        var k = a.length;
        if (typeof b === "object") {
            for (var s in b)o(a, s, b[s], g, f, e);
            return a
        }
        if (e !== j) {
            g = !l && g && c.isFunction(e);
            for (s = 0; s < k; s++)f(a[s], b, g ? e.call(a[s], s, f(a[s], b)) : e, l);
            return a
        }
        return k ?
            f(a[0], b) : j
    }

    function z() {
        return (new Date).getTime()
    }

    function G() {
        return false
    }

    function U() {
        return true
    }

    function R(a, b, e) {
        e[0].type = a;
        return c.event.handle.apply(b, e)
    }

    function S(a) {
        var b, e = [], g = [], f = arguments, l, k, s, m, r, y;
        k = c.data(this, "events");
        if (!(a.liveFired === this || !k || !k.live || a.button && a.type === "click")) {
            a.liveFired = this;
            var B = k.live.slice(0);
            for (m = 0; m < B.length; m++) {
                k = B[m];
                k.origType.replace(da, "") === a.type ? g.push(k.selector) : B.splice(m--, 1)
            }
            l = c(a.target).closest(g, a.currentTarget);
            r = 0;
            for (y =
                     l.length; r < y; r++)for (m = 0; m < B.length; m++) {
                k = B[m];
                if (l[r].selector === k.selector) {
                    s = l[r].elem;
                    g = null;
                    if (k.preType === "mouseenter" || k.preType === "mouseleave") g = c(a.relatedTarget).closest(k.selector)[0];
                    if (!g || g !== s) e.push({elem: s, handleObj: k})
                }
            }
            r = 0;
            for (y = e.length; r < y; r++) {
                l = e[r];
                a.currentTarget = l.elem;
                a.data = l.handleObj.data;
                a.handleObj = l.handleObj;
                if (l.handleObj.origHandler.apply(l.elem, f) === false) {
                    b = false;
                    break
                }
            }
            return b
        }
    }

    function L(a, b) {
        return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g,
                "&")
    }

    function Z(a) {
        return !a || !a.parentNode || a.parentNode.nodeType === 11
    }

    function ea(a, b) {
        var e = 0;
        b.each(function () {
            if (this.nodeName === (a[e] && a[e].nodeName)) {
                var g = c.data(a[e++]), f = c.data(this, g);
                if (g = g && g.events) {
                    delete f.handle;
                    f.events = {};
                    for (var l in g)for (var k in g[l])c.event.add(this, l, g[l][k], g[l][k].data)
                }
            }
        })
    }

    function fa(a, b, e) {
        var g, f, l;
        b = b && b[0] ? b[0].ownerDocument || b[0] : v;
        if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === v && !Ca.test(a[0]) && (c.support.checkClone || !Da.test(a[0]))) {
            f =
                true;
            if (l = c.fragments[a[0]])if (l !== 1) g = l
        }
        if (!g) {
            g = b.createDocumentFragment();
            c.clean(a, b, g, e)
        }
        if (f) c.fragments[a[0]] = l ? g : 1;
        return {fragment: g, cacheable: f}
    }

    function T(a, b) {
        var e = {};
        c.each(Ea.concat.apply([], Ea.slice(0, b)), function () {
            e[this] = a
        });
        return e
    }

    function V(a) {
        return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false
    }

    var c = function (a, b) {
            return new c.fn.init(a, b)
        }, oa = p.jQuery, J = p.$, v = p.document, N, K = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, M = /^.[^:#\[\.,]*$/,
        ka = /\S/, $ =
            /^(\s|\u00A0)+|(\s|\u00A0)+$/g, Ya = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, ga = navigator.userAgent, Fa = false,
        ha = [], aa, pa = Object.prototype.toString, qa = Object.prototype.hasOwnProperty, ra = Array.prototype.push,
        ia = Array.prototype.slice, Ga = Array.prototype.indexOf;
    c.fn = c.prototype = {
        init: function (a, b) {
            var e, g;
            if (!a)return this;
            if (a.nodeType) {
                this.context = this[0] = a;
                this.length = 1;
                return this
            }
            if (a === "body" && !b) {
                this.context = v;
                this[0] = v.body;
                this.selector = "body";
                this.length = 1;
                return this
            }
            if (typeof a === "string")if ((e = K.exec(a)) &&
                (e[1] || !b))if (e[1]) {
                g = b ? b.ownerDocument || b : v;
                if (a = Ya.exec(a))if (c.isPlainObject(b)) {
                    a = [v.createElement(a[1])];
                    c.fn.attr.call(a, b, true)
                } else a = [g.createElement(a[1])]; else {
                    a = fa([e[1]], [g]);
                    a = (a.cacheable ? a.fragment.cloneNode(true) : a.fragment).childNodes
                }
                return c.merge(this, a)
            } else {
                if (b = v.getElementById(e[2])) {
                    if (b.id !== e[2])return N.find(a);
                    this.length = 1;
                    this[0] = b
                }
                this.context = v;
                this.selector = a;
                return this
            } else if (!b && /^\w+$/.test(a)) {
                this.selector = a;
                this.context = v;
                a = v.getElementsByTagName(a);
                return c.merge(this,
                    a)
            } else return !b || b.jquery ? (b || N).find(a) : c(b).find(a); else if (c.isFunction(a))return N.ready(a);
            if (a.selector !== j) {
                this.selector = a.selector;
                this.context = a.context
            }
            return c.makeArray(a, this)
        }, selector: "", jquery: "1.4.2", length: 0, size: function () {
            return this.length
        }, toArray: function () {
            return ia.call(this, 0)
        }, get: function (a) {
            return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a]
        }, pushStack: function (a, b, e) {
            var g = c();
            c.isArray(a) ? ra.apply(g, a) : c.merge(g, a);
            g.prevObject = this;
            g.context = this.context;
            if (b ===
                "find") g.selector = this.selector + (this.selector ? " " : "") + e; else if (b) g.selector = this.selector + "." + b + "(" + e + ")";
            return g
        }, each: function (a, b) {
            return c.each(this, a, b)
        }, ready: function (a) {
            c.bindReady();
            if (c.isReady) a.call(v, c); else ha && ha.push(a);
            return this
        }, eq: function (a) {
            return a === -1 ? this.slice(a) : this.slice(a, +a + 1)
        }, first: function () {
            return this.eq(0)
        }, last: function () {
            return this.eq(-1)
        }, slice: function () {
            return this.pushStack(ia.apply(this, arguments), "slice", ia.call(arguments).join(","))
        }, map: function (a) {
            return this.pushStack(c.map(this,
                function (b, e) {
                    return a.call(b, e, b)
                }))
        }, end: function () {
            return this.prevObject || c(null)
        }, push: ra, sort: [].sort, splice: [].splice
    };
    c.fn.init.prototype = c.fn;
    c.extend = c.fn.extend = function () {
        var a = arguments[0] || {}, b = 1, e = arguments.length, g = false, f, l, k, s;
        if (typeof a === "boolean") {
            g = a;
            a = arguments[1] || {};
            b = 2
        }
        if (typeof a !== "object" && !c.isFunction(a)) a = {};
        if (e === b) {
            a = this;
            --b
        }
        for (; b < e; b++)if ((f = arguments[b]) != null)for (l in f) {
            k = a[l];
            s = f[l];
            if (a !== s)if (g && s && (c.isPlainObject(s) || c.isArray(s))) {
                k = k && (c.isPlainObject(k) ||
                c.isArray(k)) ? k : c.isArray(s) ? [] : {};
                a[l] = c.extend(g, k, s)
            } else if (s !== j) a[l] = s
        }
        return a
    };
    c.extend({
        noConflict: function (a) {
            p.$ = J;
            if (a) p.jQuery = oa;
            return c
        }, isReady: false, ready: function () {
            if (!c.isReady) {
                if (!v.body)return setTimeout(c.ready, 13);
                c.isReady = true;
                if (ha) {
                    for (var a, b = 0; a = ha[b++];)a.call(v, c);
                    ha = null
                }
                c.fn.triggerHandler && c(v).triggerHandler("ready")
            }
        }, bindReady: function () {
            if (!Fa) {
                Fa = true;
                if (v.readyState === "complete")return c.ready();
                if (v.addEventListener) {
                    v.addEventListener("DOMContentLoaded",
                        aa, false);
                    p.addEventListener("load", c.ready, false)
                } else if (v.attachEvent) {
                    v.attachEvent("onreadystatechange", aa);
                    p.attachEvent("onload", c.ready);
                    var a = false;
                    try {
                        a = p.frameElement == null
                    } catch (b) {
                    }
                    v.documentElement.doScroll && a && u()
                }
            }
        }, isFunction: function (a) {
            return pa.call(a) === "[object Function]"
        }, isArray: function (a) {
            return pa.call(a) === "[object Array]"
        }, isPlainObject: function (a) {
            if (!a || pa.call(a) !== "[object Object]" || a.nodeType || a.setInterval)return false;
            if (a.constructor && !qa.call(a, "constructor") &&
                !qa.call(a.constructor.prototype, "isPrototypeOf"))return false;
            var b;
            for (b in a);
            return b === j || qa.call(a, b)
        }, isEmptyObject: function (a) {
            for (var b in a)return false;
            return true
        }, error: function (a) {
            throw a;
        }, parseJSON: function (a) {
            if (typeof a !== "string" || !a)return null;
            a = c.trim(a);
            if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, "")))return p.JSON && p.JSON.parse ? p.JSON.parse(a) :
                (new Function("return " + a))(); else c.error("Invalid JSON: " + a)
        }, noop: function () {
        }, globalEval: function (a) {
            if (a && ka.test(a)) {
                var b = v.getElementsByTagName("head")[0] || v.documentElement, e = v.createElement("script");
                e.type = "text/javascript";
                if (c.support.scriptEval) e.appendChild(v.createTextNode(a)); else e.text = a;
                b.insertBefore(e, b.firstChild);
                b.removeChild(e)
            }
        }, nodeName: function (a, b) {
            return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
        }, each: function (a, b, e) {
            var g, f = 0, l = a.length, k = l === j || c.isFunction(a);
            if (e)if (k)for (g in a) {
                if (b.apply(a[g], e) === false)break
            } else for (; f < l;) {
                if (b.apply(a[f++], e) === false)break
            } else if (k)for (g in a) {
                if (b.call(a[g], g, a[g]) === false)break
            } else for (e = a[0]; f < l && b.call(e, f, e) !== false; e = a[++f]);
            return a
        }, trim: function (a) {
            return (a || "").replace($, "")
        }, makeArray: function (a, b) {
            b = b || [];
            if (a != null) a.length == null || typeof a === "string" || c.isFunction(a) || typeof a !== "function" && a.setInterval ? ra.call(b, a) : c.merge(b, a);
            return b
        }, inArray: function (a, b) {
            if (b.indexOf)return b.indexOf(a);
            for (var e =
                0, g = b.length; e < g; e++)if (b[e] === a)return e;
            return -1
        }, merge: function (a, b) {
            var e = a.length, g = 0;
            if (typeof b.length === "number")for (var f = b.length; g < f; g++)a[e++] = b[g]; else for (; b[g] !== j;)a[e++] = b[g++];
            a.length = e;
            return a
        }, grep: function (a, b, e) {
            for (var g = [], f = 0, l = a.length; f < l; f++)!e !== !b(a[f], f) && g.push(a[f]);
            return g
        }, map: function (a, b, e) {
            for (var g = [], f, l = 0, k = a.length; l < k; l++) {
                f = b(a[l], l, e);
                if (f != null) g[g.length] = f
            }
            return g.concat.apply([], g)
        }, guid: 1, proxy: function (a, b, e) {
            if (arguments.length === 2)if (typeof b ===
                "string") {
                e = a;
                a = e[b];
                b = j
            } else if (b && !c.isFunction(b)) {
                e = b;
                b = j
            }
            if (!b && a) b = function () {
                return a.apply(e || this, arguments)
            };
            if (a) b.guid = a.guid = a.guid || b.guid || c.guid++;
            return b
        }, uaMatch: function (a) {
            a = a.toLowerCase();
            a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || [];
            return {browser: a[1] || "", version: a[2] || "0"}
        }, browser: {}
    });
    ga = c.uaMatch(ga);
    if (ga.browser) {
        c.browser[ga.browser] = true;
        c.browser.version = ga.version
    }
    if (c.browser.webkit) c.browser.safari = true;
    if (Ga) c.inArray = function (a, b) {
        return Ga.call(b, a)
    };
    N = c(v);
    if (v.addEventListener) aa = function () {
        v.removeEventListener("DOMContentLoaded", aa, false);
        c.ready()
    }; else if (v.attachEvent) aa = function () {
        if (v.readyState === "complete") {
            v.detachEvent("onreadystatechange", aa);
            c.ready()
        }
    };
    (function () {
        c.support = {};
        var a = v.documentElement, b = v.createElement("script"), e = v.createElement("div"), g = "script" + z();
        e.style.display = "none";
        e.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
        var f = e.getElementsByTagName("*"), l = e.getElementsByTagName("a")[0];
        if (!(!f || !f.length || !l)) {
            c.support = {
                leadingWhitespace: e.firstChild.nodeType === 3,
                tbody: !e.getElementsByTagName("tbody").length,
                htmlSerialize: !!e.getElementsByTagName("link").length,
                style: /red/.test(l.getAttribute("style")),
                hrefNormalized: l.getAttribute("href") === "/a",
                opacity: /^0.55$/.test(l.style.opacity),
                cssFloat: !!l.style.cssFloat,
                checkOn: e.getElementsByTagName("input")[0].value === "on",
                optSelected: v.createElement("select").appendChild(v.createElement("option")).selected,
                parentNode: e.removeChild(e.appendChild(v.createElement("div"))).parentNode === null,
                deleteExpando: true,
                checkClone: false,
                scriptEval: false,
                noCloneEvent: true,
                boxModel: null
            };
            b.type = "text/javascript";
            try {
                b.appendChild(v.createTextNode("window." + g + "=1;"))
            } catch (k) {
            }
            a.insertBefore(b, a.firstChild);
            if (p[g]) {
                c.support.scriptEval = true;
                delete p[g]
            }
            try {
                delete b.test
            } catch (s) {
                c.support.deleteExpando = false
            }
            a.removeChild(b);
            if (e.attachEvent && e.fireEvent) {
                e.attachEvent("onclick", function m() {
                    c.support.noCloneEvent =
                        false;
                    e.detachEvent("onclick", m)
                });
                e.cloneNode(true).fireEvent("onclick")
            }
            e = v.createElement("div");
            e.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
            a = v.createDocumentFragment();
            a.appendChild(e.firstChild);
            c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked;
            c(function () {
                var m = v.createElement("div");
                m.style.width = m.style.paddingLeft = "1px";
                v.body.appendChild(m);
                c.boxModel = c.support.boxModel = m.offsetWidth === 2;
                v.body.removeChild(m).style.display = "none"
            });
            a = function (m) {
                var r =
                    v.createElement("div");
                m = "on" + m;
                var y = m in r;
                if (!y) {
                    r.setAttribute(m, "return;");
                    y = typeof r[m] === "function"
                }
                return y
            };
            c.support.submitBubbles = a("submit");
            c.support.changeBubbles = a("change");
            a = b = e = f = l = null
        }
    })();
    c.props = {
        "for": "htmlFor",
        "class": "className",
        readonly: "readOnly",
        maxlength: "maxLength",
        cellspacing: "cellSpacing",
        rowspan: "rowSpan",
        colspan: "colSpan",
        tabindex: "tabIndex",
        usemap: "useMap",
        frameborder: "frameBorder"
    };
    var W = "jQuery" + z(), Za = 0, Ha = {};
    c.extend({
        cache: {}, expando: W, noData: {
            embed: true, object: true,
            applet: true
        }, data: function (a, b, e) {
            if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) {
                a = a == p ? Ha : a;
                var g = a[W], f = c.cache;
                if (!g && typeof b === "string" && e === j)return null;
                g || (g = ++Za);
                if (typeof b === "object") {
                    a[W] = g;
                    f[g] = c.extend(true, {}, b)
                } else if (!f[g]) {
                    a[W] = g;
                    f[g] = {}
                }
                a = f[g];
                if (e !== j) a[b] = e;
                return typeof b === "string" ? a[b] : a
            }
        }, removeData: function (a, b) {
            if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) {
                a = a == p ? Ha : a;
                var e = a[W], g = c.cache, f = g[e];
                if (b) {
                    if (f) {
                        delete f[b];
                        c.isEmptyObject(f) && c.removeData(a)
                    }
                } else {
                    if (c.support.deleteExpando) delete a[c.expando];
                    else a.removeAttribute && a.removeAttribute(c.expando);
                    delete g[e]
                }
            }
        }
    });
    c.fn.extend({
        data: function (a, b) {
            if (typeof a === "undefined" && this.length)return c.data(this[0]); else if (typeof a === "object")return this.each(function () {
                c.data(this, a)
            });
            var e = a.split(".");
            e[1] = e[1] ? "." + e[1] : "";
            if (b === j) {
                var g = this.triggerHandler("getData" + e[1] + "!", [e[0]]);
                if (g === j && this.length) g = c.data(this[0], a);
                return g === j && e[1] ? this.data(e[0]) : g
            } else return this.trigger("setData" + e[1] + "!", [e[0], b]).each(function () {
                c.data(this,
                    a, b)
            })
        }, removeData: function (a) {
            return this.each(function () {
                c.removeData(this, a)
            })
        }
    });
    c.extend({
        queue: function (a, b, e) {
            if (a) {
                b = (b || "fx") + "queue";
                var g = c.data(a, b);
                if (!e)return g || [];
                if (!g || c.isArray(e)) g = c.data(a, b, c.makeArray(e)); else g.push(e);
                return g
            }
        }, dequeue: function (a, b) {
            b = b || "fx";
            var e = c.queue(a, b), g = e.shift();
            if (g === "inprogress") g = e.shift();
            if (g) {
                b === "fx" && e.unshift("inprogress");
                g.call(a, function () {
                    c.dequeue(a, b)
                })
            }
        }
    });
    c.fn.extend({
        queue: function (a, b) {
            if (typeof a !== "string") {
                b = a;
                a = "fx"
            }
            if (b ===
                j)return c.queue(this[0], a);
            return this.each(function () {
                var e = c.queue(this, a, b);
                a === "fx" && e[0] !== "inprogress" && c.dequeue(this, a)
            })
        }, dequeue: function (a) {
            return this.each(function () {
                c.dequeue(this, a)
            })
        }, delay: function (a, b) {
            a = c.fx ? c.fx.speeds[a] || a : a;
            b = b || "fx";
            return this.queue(b, function () {
                var e = this;
                setTimeout(function () {
                    c.dequeue(e, b)
                }, a)
            })
        }, clearQueue: function (a) {
            return this.queue(a || "fx", [])
        }
    });
    var Ia = /[\n\t]/g, sa = /\s+/, $a = /\r/g, ab = /href|src|style/, bb = /(button|input)/i,
        cb = /(button|input|object|select|textarea)/i,
        db = /^(a|area)$/i, Ja = /radio|checkbox/;
    c.fn.extend({
        attr: function (a, b) {
            return o(this, a, b, true, c.attr)
        }, removeAttr: function (a) {
            return this.each(function () {
                c.attr(this, a, "");
                this.nodeType === 1 && this.removeAttribute(a)
            })
        }, addClass: function (a) {
            if (c.isFunction(a))return this.each(function (r) {
                var y = c(this);
                y.addClass(a.call(this, r, y.attr("class")))
            });
            if (a && typeof a === "string")for (var b = (a || "").split(sa), e = 0, g = this.length; e < g; e++) {
                var f = this[e];
                if (f.nodeType === 1)if (f.className) {
                    for (var l = " " + f.className + " ",
                             k = f.className, s = 0,
                             m = b.length; s < m; s++)if (l.indexOf(" " + b[s] + " ") < 0) k += " " + b[s];
                    f.className = c.trim(k)
                } else f.className = a
            }
            return this
        }, removeClass: function (a) {
            if (c.isFunction(a))return this.each(function (m) {
                var r = c(this);
                r.removeClass(a.call(this, m, r.attr("class")))
            });
            if (a && typeof a === "string" || a === j)for (var b = (a || "").split(sa), e = 0,
                                                               g = this.length; e < g; e++) {
                var f = this[e];
                if (f.nodeType === 1 && f.className)if (a) {
                    for (var l = (" " + f.className + " ").replace(Ia, " "), k = 0,
                             s = b.length; k < s; k++)l = l.replace(" " + b[k] + " ",
                        " ");
                    f.className = c.trim(l)
                } else f.className = ""
            }
            return this
        }, toggleClass: function (a, b) {
            var e = typeof a, g = typeof b === "boolean";
            if (c.isFunction(a))return this.each(function (f) {
                var l = c(this);
                l.toggleClass(a.call(this, f, l.attr("class"), b), b)
            });
            return this.each(function () {
                if (e === "string")for (var f, l = 0, k = c(this), s = b, m = a.split(sa); f = m[l++];) {
                    s = g ? s : !k.hasClass(f);
                    k[s ? "addClass" : "removeClass"](f)
                } else if (e === "undefined" || e === "boolean") {
                    this.className && c.data(this, "__className__", this.className);
                    this.className =
                        this.className || a === false ? "" : c.data(this, "__className__") || ""
                }
            })
        }, hasClass: function (a) {
            a = " " + a + " ";
            for (var b = 0,
                     e = this.length; b < e; b++)if ((" " + this[b].className + " ").replace(Ia, " ").indexOf(a) > -1)return true;
            return false
        }, val: function (a) {
            if (a === j) {
                var b = this[0];
                if (b) {
                    if (c.nodeName(b, "option"))return (b.attributes.value || {}).specified ? b.value : b.text;
                    if (c.nodeName(b, "select")) {
                        var e = b.selectedIndex, g = [], f = b.options;
                        b = b.type === "select-one";
                        if (e < 0)return null;
                        var l = b ? e : 0;
                        for (e = b ? e + 1 : f.length; l < e; l++) {
                            var k =
                                f[l];
                            if (k.selected) {
                                a = c(k).val();
                                if (b)return a;
                                g.push(a)
                            }
                        }
                        return g
                    }
                    if (Ja.test(b.type) && !c.support.checkOn)return b.getAttribute("value") === null ? "on" : b.value;
                    return (b.value || "").replace($a, "")
                }
                return j
            }
            var s = c.isFunction(a);
            return this.each(function (m) {
                var r = c(this), y = a;
                if (this.nodeType === 1) {
                    if (s) y = a.call(this, m, r.val());
                    if (typeof y === "number") y += "";
                    if (c.isArray(y) && Ja.test(this.type)) this.checked = c.inArray(r.val(), y) >= 0; else if (c.nodeName(this, "select")) {
                        var B = c.makeArray(y);
                        c("option", this).each(function () {
                            this.selected =
                                c.inArray(c(this).val(), B) >= 0
                        });
                        if (!B.length) this.selectedIndex = -1
                    } else this.value = y
                }
            })
        }
    });
    c.extend({
        attrFn: {val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true},
        attr: function (a, b, e, g) {
            if (!a || a.nodeType === 3 || a.nodeType === 8)return j;
            if (g && b in c.attrFn)return c(a)[b](e);
            g = a.nodeType !== 1 || !c.isXMLDoc(a);
            var f = e !== j;
            b = g && c.props[b] || b;
            if (a.nodeType === 1) {
                var l = ab.test(b);
                if (b in a && g && !l) {
                    if (f) {
                        b === "type" && bb.test(a.nodeName) && a.parentNode && c.error("type property can't be changed");
                        a[b] = e
                    }
                    if (c.nodeName(a, "form") && a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;
                    if (b === "tabIndex")return (b = a.getAttributeNode("tabIndex")) && b.specified ? b.value : cb.test(a.nodeName) || db.test(a.nodeName) && a.href ? 0 : j;
                    return a[b]
                }
                if (!c.support.style && g && b === "style") {
                    if (f) a.style.cssText = "" + e;
                    return a.style.cssText
                }
                f && a.setAttribute(b, "" + e);
                a = !c.support.hrefNormalized && g && l ? a.getAttribute(b, 2) : a.getAttribute(b);
                return a === null ? j : a
            }
            return c.style(a, b, e)
        }
    });
    var da = /\.(.*)$/, eb = function (a) {
        return a.replace(/[^\w\s\.\|`]/g,
            function (b) {
                return "\\" + b
            })
    };
    c.event = {
        add: function (a, b, e, g) {
            if (!(a.nodeType === 3 || a.nodeType === 8)) {
                if (a.setInterval && a !== p && !a.frameElement) a = p;
                var f, l;
                if (e.handler) {
                    f = e;
                    e = f.handler
                }
                if (!e.guid) e.guid = c.guid++;
                if (l = c.data(a)) {
                    var k = l.events = l.events || {}, s = l.handle;
                    if (!s) l.handle = s = function () {
                        return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(s.elem, arguments) : j
                    };
                    s.elem = a;
                    b = b.split(" ");
                    for (var m, r = 0, y; m = b[r++];) {
                        l = f ? c.extend({}, f) : {handler: e, data: g};
                        if (m.indexOf(".") > -1) {
                            y = m.split(".");
                            m = y.shift();
                            l.namespace = y.slice(0).sort().join(".")
                        } else {
                            y = [];
                            l.namespace = ""
                        }
                        l.type = m;
                        l.guid = e.guid;
                        var B = k[m], F = c.event.special[m] || {};
                        if (!B) {
                            B = k[m] = [];
                            if (!F.setup || F.setup.call(a, g, y, s) === false)if (a.addEventListener) a.addEventListener(m, s, false); else a.attachEvent && a.attachEvent("on" + m, s)
                        }
                        if (F.add) {
                            F.add.call(a, l);
                            if (!l.handler.guid) l.handler.guid = e.guid
                        }
                        B.push(l);
                        c.event.global[m] = true
                    }
                    a = null
                }
            }
        },
        global: {},
        remove: function (a, b, e, g) {
            if (!(a.nodeType === 3 || a.nodeType === 8)) {
                var f, l = 0, k, s, m, r, y, B, F = c.data(a),
                    I = F && F.events;
                if (F && I) {
                    if (b && b.type) {
                        e = b.handler;
                        b = b.type
                    }
                    if (!b || typeof b === "string" && b.charAt(0) === ".") {
                        b = b || "";
                        for (f in I)c.event.remove(a, f + b)
                    } else {
                        for (b = b.split(" "); f = b[l++];) {
                            r = f;
                            k = f.indexOf(".") < 0;
                            s = [];
                            if (!k) {
                                s = f.split(".");
                                f = s.shift();
                                m = new RegExp("(^|\\.)" + c.map(s.slice(0).sort(), eb).join("\\.(?:.*\\.)?") + "(\\.|$)")
                            }
                            if (y = I[f])if (e) {
                                r = c.event.special[f] || {};
                                for (H = g || 0; H < y.length; H++) {
                                    B = y[H];
                                    if (e.guid === B.guid) {
                                        if (k || m.test(B.namespace)) {
                                            g == null && y.splice(H--, 1);
                                            r.remove && r.remove.call(a, B)
                                        }
                                        if (g !=
                                            null)break
                                    }
                                }
                                if (y.length === 0 || g != null && y.length === 1) {
                                    if (!r.teardown || r.teardown.call(a, s) === false) Ka(a, f, F.handle);
                                    delete I[f]
                                }
                            } else for (var H = 0; H < y.length; H++) {
                                B = y[H];
                                if (k || m.test(B.namespace)) {
                                    c.event.remove(a, r, B.handler, H);
                                    y.splice(H--, 1)
                                }
                            }
                        }
                        if (c.isEmptyObject(I)) {
                            if (b = F.handle) b.elem = null;
                            delete F.events;
                            delete F.handle;
                            c.isEmptyObject(F) && c.removeData(a)
                        }
                    }
                }
            }
        },
        trigger: function (a, b, e, g) {
            var f = a.type || a;
            if (!g) {
                a = typeof a === "object" ? a[W] ? a : c.extend(c.Event(f), a) : c.Event(f);
                if (f.indexOf("!") >= 0) {
                    a.type =
                        f = f.slice(0, -1);
                    a.exclusive = true
                }
                if (!e) {
                    a.stopPropagation();
                    c.event.global[f] && c.each(c.cache, function () {
                        this.events && this.events[f] && c.event.trigger(a, b, this.handle.elem)
                    })
                }
                if (!e || e.nodeType === 3 || e.nodeType === 8)return j;
                a.result = j;
                a.target = e;
                b = c.makeArray(b);
                b.unshift(a)
            }
            a.currentTarget = e;
            (g = c.data(e, "handle")) && g.apply(e, b);
            g = e.parentNode || e.ownerDocument;
            try {
                if (!(e && e.nodeName && c.noData[e.nodeName.toLowerCase()]))if (e["on" + f] && e["on" + f].apply(e, b) === false) a.result = false
            } catch (l) {
            }
            if (!a.isPropagationStopped() &&
                g) c.event.trigger(a, b, g, true); else if (!a.isDefaultPrevented()) {
                g = a.target;
                var k, s = c.nodeName(g, "a") && f === "click", m = c.event.special[f] || {};
                if ((!m._default || m._default.call(e, a) === false) && !s && !(g && g.nodeName && c.noData[g.nodeName.toLowerCase()])) {
                    try {
                        if (g[f]) {
                            if (k = g["on" + f]) g["on" + f] = null;
                            c.event.triggered = true;
                            g[f]()
                        }
                    } catch (r) {
                    }
                    if (k) g["on" + f] = k;
                    c.event.triggered = false
                }
            }
        },
        handle: function (a) {
            var b, e, g, f;
            a = arguments[0] = c.event.fix(a || p.event);
            a.currentTarget = this;
            b = a.type.indexOf(".") < 0 && !a.exclusive;
            if (!b) {
                e = a.type.split(".");
                a.type = e.shift();
                g = new RegExp("(^|\\.)" + e.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)")
            }
            f = c.data(this, "events");
            e = f[a.type];
            if (f && e) {
                e = e.slice(0);
                f = 0;
                for (var l = e.length; f < l; f++) {
                    var k = e[f];
                    if (b || g.test(k.namespace)) {
                        a.handler = k.handler;
                        a.data = k.data;
                        a.handleObj = k;
                        k = k.handler.apply(this, arguments);
                        if (k !== j) {
                            a.result = k;
                            if (k === false) {
                                a.preventDefault();
                                a.stopPropagation()
                            }
                        }
                        if (a.isImmediatePropagationStopped())break
                    }
                }
            }
            return a.result
        },
        props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
        fix: function (a) {
            if (a[W])return a;
            var b = a;
            a = c.Event(b);
            for (var e = this.props.length, g; e;) {
                g = this.props[--e];
                a[g] = b[g]
            }
            if (!a.target) a.target = a.srcElement || v;
            if (a.target.nodeType === 3) a.target = a.target.parentNode;
            if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement;
            if (a.pageX == null && a.clientX != null) {
                b = v.documentElement;
                e = v.body;
                a.pageX = a.clientX + (b && b.scrollLeft || e && e.scrollLeft || 0) - (b && b.clientLeft || e && e.clientLeft || 0);
                a.pageY = a.clientY + (b && b.scrollTop ||
                    e && e.scrollTop || 0) - (b && b.clientTop || e && e.clientTop || 0)
            }
            if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode;
            if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey;
            if (!a.which && a.button !== j) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0;
            return a
        },
        guid: 1E8,
        proxy: c.proxy,
        special: {
            ready: {setup: c.bindReady, teardown: c.noop}, live: {
                add: function (a) {
                    c.event.add(this, a.origType, c.extend({}, a, {handler: S}))
                }, remove: function (a) {
                    var b = true, e = a.origType.replace(da, "");
                    c.each(c.data(this,
                            "events").live || [], function () {
                        if (e === this.origType.replace(da, ""))return b = false
                    });
                    b && c.event.remove(this, a.origType, S)
                }
            }, beforeunload: {
                setup: function (a, b, e) {
                    if (this.setInterval) this.onbeforeunload = e;
                    return false
                }, teardown: function (a, b) {
                    if (this.onbeforeunload === b) this.onbeforeunload = null
                }
            }
        }
    };
    var Ka = v.removeEventListener ? function (a, b, e) {
        a.removeEventListener(b, e, false)
    } : function (a, b, e) {
        a.detachEvent("on" + b, e)
    };
    c.Event = function (a) {
        if (!this.preventDefault)return new c.Event(a);
        if (a && a.type) {
            this.originalEvent =
                a;
            this.type = a.type
        } else this.type = a;
        this.timeStamp = z();
        this[W] = true
    };
    c.Event.prototype = {
        preventDefault: function () {
            this.isDefaultPrevented = U;
            var a = this.originalEvent;
            if (a) {
                a.preventDefault && a.preventDefault();
                a.returnValue = false
            }
        }, stopPropagation: function () {
            this.isPropagationStopped = U;
            var a = this.originalEvent;
            if (a) {
                a.stopPropagation && a.stopPropagation();
                a.cancelBubble = true
            }
        }, stopImmediatePropagation: function () {
            this.isImmediatePropagationStopped = U;
            this.stopPropagation()
        }, isDefaultPrevented: G, isPropagationStopped: G,
        isImmediatePropagationStopped: G
    };
    var La = function (a) {
        var b = a.relatedTarget;
        try {
            for (; b && b !== this;)b = b.parentNode;
            if (b !== this) {
                a.type = a.data;
                c.event.handle.apply(this, arguments)
            }
        } catch (e) {
        }
    }, Ma = function (a) {
        a.type = a.data;
        c.event.handle.apply(this, arguments)
    };
    c.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (a, b) {
        c.event.special[a] = {
            setup: function (e) {
                c.event.add(this, b, e && e.selector ? Ma : La, a)
            }, teardown: function (e) {
                c.event.remove(this, b, e && e.selector ? Ma : La)
            }
        }
    });
    if (!c.support.submitBubbles) c.event.special.submit =
        {
            setup: function () {
                if (this.nodeName.toLowerCase() !== "form") {
                    c.event.add(this, "click.specialSubmit", function (a) {
                        var b = a.target, e = b.type;
                        if ((e === "submit" || e === "image") && c(b).closest("form").length)return R("submit", this, arguments)
                    });
                    c.event.add(this, "keypress.specialSubmit", function (a) {
                        var b = a.target, e = b.type;
                        if ((e === "text" || e === "password") && c(b).closest("form").length && a.keyCode === 13)return R("submit", this, arguments)
                    })
                } else return false
            }, teardown: function () {
            c.event.remove(this, ".specialSubmit")
        }
        };
    if (!c.support.changeBubbles) {
        var ta =
            /textarea|input|select/i, ua, Na = function (a) {
            var b = a.type, e = a.value;
            if (b === "radio" || b === "checkbox") e = a.checked; else if (b === "select-multiple") e = a.selectedIndex > -1 ? c.map(a.options, function (g) {
                return g.selected
            }).join("-") : ""; else if (a.nodeName.toLowerCase() === "select") e = a.selectedIndex;
            return e
        }, va = function (a, b) {
            var e = a.target, g, f;
            if (!(!ta.test(e.nodeName) || e.readOnly)) {
                g = c.data(e, "_change_data");
                f = Na(e);
                if (a.type !== "focusout" || e.type !== "radio") c.data(e, "_change_data", f);
                if (!(g === j || f === g))if (g != null ||
                    f) {
                    a.type = "change";
                    return c.event.trigger(a, b, e)
                }
            }
        };
        c.event.special.change = {
            filters: {
                focusout: va, click: function (a) {
                    var b = a.target, e = b.type;
                    if (e === "radio" || e === "checkbox" || b.nodeName.toLowerCase() === "select")return va.call(this, a)
                }, keydown: function (a) {
                    var b = a.target, e = b.type;
                    if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (e === "checkbox" || e === "radio") || e === "select-multiple")return va.call(this, a)
                }, beforeactivate: function (a) {
                    a = a.target;
                    c.data(a, "_change_data", Na(a))
                }
            }, setup: function () {
                if (this.type ===
                    "file")return false;
                for (var a in ua)c.event.add(this, a + ".specialChange", ua[a]);
                return ta.test(this.nodeName)
            }, teardown: function () {
                c.event.remove(this, ".specialChange");
                return ta.test(this.nodeName)
            }
        };
        ua = c.event.special.change.filters
    }
    v.addEventListener && c.each({focus: "focusin", blur: "focusout"}, function (a, b) {
        function e(g) {
            g = c.event.fix(g);
            g.type = b;
            return c.event.handle.call(this, g)
        }

        c.event.special[b] = {
            setup: function () {
                this.addEventListener(a, e, true)
            }, teardown: function () {
                this.removeEventListener(a,
                    e, true)
            }
        }
    });
    c.each(["bind", "one"], function (a, b) {
        c.fn[b] = function (e, g, f) {
            if (typeof e === "object") {
                for (var l in e)this[b](l, g, e[l], f);
                return this
            }
            if (c.isFunction(g)) {
                f = g;
                g = j
            }
            var k = b === "one" ? c.proxy(f, function (m) {
                c(this).unbind(m, k);
                return f.apply(this, arguments)
            }) : f;
            if (e === "unload" && b !== "one") this.one(e, g, f); else {
                l = 0;
                for (var s = this.length; l < s; l++)c.event.add(this[l], e, k, g)
            }
            return this
        }
    });
    c.fn.extend({
        unbind: function (a, b) {
            if (typeof a === "object" && !a.preventDefault)for (var e in a)this.unbind(e, a[e]); else {
                e =
                    0;
                for (var g = this.length; e < g; e++)c.event.remove(this[e], a, b)
            }
            return this
        }, delegate: function (a, b, e, g) {
            return this.live(b, e, g, a)
        }, undelegate: function (a, b, e) {
            return arguments.length === 0 ? this.unbind("live") : this.die(b, null, e, a)
        }, trigger: function (a, b) {
            return this.each(function () {
                c.event.trigger(a, b, this)
            })
        }, triggerHandler: function (a, b) {
            if (this[0]) {
                a = c.Event(a);
                a.preventDefault();
                a.stopPropagation();
                c.event.trigger(a, b, this[0]);
                return a.result
            }
        }, toggle: function (a) {
            for (var b = arguments, e = 1; e < b.length;)c.proxy(a,
                b[e++]);
            return this.click(c.proxy(a, function (g) {
                var f = (c.data(this, "lastToggle" + a.guid) || 0) % e;
                c.data(this, "lastToggle" + a.guid, f + 1);
                g.preventDefault();
                return b[f].apply(this, arguments) || false
            }))
        }, hover: function (a, b) {
            return this.mouseenter(a).mouseleave(b || a)
        }
    });
    var Oa = {focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout"};
    c.each(["live", "die"], function (a, b) {
        c.fn[b] = function (e, g, f, l) {
            var k, s = 0, m, r, y = l || this.selector, B = l ? this : c(this.context);
            if (c.isFunction(g)) {
                f = g;
                g = j
            }
            for (e =
                     (e || "").split(" "); (k = e[s++]) != null;) {
                l = da.exec(k);
                m = "";
                if (l) {
                    m = l[0];
                    k = k.replace(da, "")
                }
                if (k === "hover") e.push("mouseenter" + m, "mouseleave" + m); else {
                    r = k;
                    if (k === "focus" || k === "blur") {
                        e.push(Oa[k] + m);
                        k += m
                    } else k = (Oa[k] || k) + m;
                    b === "live" ? B.each(function () {
                        c.event.add(this, L(k, y), {
                            data: g,
                            selector: y,
                            handler: f,
                            origType: k,
                            origHandler: f,
                            preType: r
                        })
                    }) : B.unbind(L(k, y), f)
                }
            }
            return this
        }
    });
    c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
        function (a, b) {
            c.fn[b] = function (e) {
                return e ? this.bind(b, e) : this.trigger(b)
            };
            if (c.attrFn) c.attrFn[b] = true
        });
    p.attachEvent && !p.addEventListener && p.attachEvent("onunload", function () {
        for (var a in c.cache)if (c.cache[a].handle)try {
            c.event.remove(c.cache[a].handle.elem)
        } catch (b) {
        }
    });
    (function () {
        function a(h) {
            for (var i = "", n, q = 0; h[q]; q++) {
                n = h[q];
                if (n.nodeType === 3 || n.nodeType === 4) i += n.nodeValue; else if (n.nodeType !== 8) i += a(n.childNodes)
            }
            return i
        }

        function b(h, i, n, q, x, w) {
            x = 0;
            for (var C = q.length; x < C; x++) {
                var A = q[x];
                if (A) {
                    A = A[h];
                    for (var E = false; A;) {
                        if (A.sizcache === n) {
                            E = q[A.sizset];
                            break
                        }
                        if (A.nodeType === 1 && !w) {
                            A.sizcache = n;
                            A.sizset = x
                        }
                        if (A.nodeName.toLowerCase() === i) {
                            E = A;
                            break
                        }
                        A = A[h]
                    }
                    q[x] = E
                }
            }
        }

        function e(h, i, n, q, x, w) {
            x = 0;
            for (var C = q.length; x < C; x++) {
                var A = q[x];
                if (A) {
                    A = A[h];
                    for (var E = false; A;) {
                        if (A.sizcache === n) {
                            E = q[A.sizset];
                            break
                        }
                        if (A.nodeType === 1) {
                            if (!w) {
                                A.sizcache = n;
                                A.sizset = x
                            }
                            if (typeof i !== "string") {
                                if (A === i) {
                                    E = true;
                                    break
                                }
                            } else if (m.filter(i, [A]).length > 0) {
                                E = A;
                                break
                            }
                        }
                        A = A[h]
                    }
                    q[x] = E
                }
            }
        }

        var g = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
            f = 0, l = Object.prototype.toString, k = false, s = true;
        [0, 0].sort(function () {
            s = false;
            return 0
        });
        var m = function (h, i, n, q) {
            n = n || [];
            var x = i = i || v;
            if (i.nodeType !== 1 && i.nodeType !== 9)return [];
            if (!h || typeof h !== "string")return n;
            for (var w = [], C, A, E, ja, X = true, ba = D(i), Y = h; (g.exec(""), C = g.exec(Y)) !== null;) {
                Y = C[3];
                w.push(C[1]);
                if (C[2]) {
                    ja = C[3];
                    break
                }
            }
            if (w.length > 1 && y.exec(h))if (w.length === 2 && r.relative[w[0]]) A = wa(w[0] + w[1], i); else for (A = r.relative[w[0]] ? [i] : m(w.shift(), i); w.length;) {
                h = w.shift();
                if (r.relative[h]) h += w.shift();
                A = wa(h, A)
            } else {
                if (!q && w.length > 1 && i.nodeType === 9 && !ba && r.match.ID.test(w[0]) && !r.match.ID.test(w[w.length - 1])) {
                    C = m.find(w.shift(), i, ba);
                    i = C.expr ? m.filter(C.expr, C.set)[0] : C.set[0]
                }
                if (i) {
                    C = q ? {
                        expr: w.pop(),
                        set: F(q)
                    } : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && i.parentNode ? i.parentNode : i, ba);
                    A = C.expr ? m.filter(C.expr, C.set) : C.set;
                    if (w.length > 0) E = F(A); else X = false;
                    for (; w.length;) {
                        var O = w.pop();
                        C = O;
                        if (r.relative[O]) C = w.pop(); else O = "";
                        if (C == null) C = i;
                        r.relative[O](E, C, ba)
                    }
                } else E = []
            }
            E || (E = A);
            E || m.error(O || h);
            if (l.call(E) === "[object Array]")if (X)if (i && i.nodeType === 1)for (h = 0; E[h] != null; h++) {
                if (E[h] && (E[h] === true || E[h].nodeType === 1 && P(i, E[h]))) n.push(A[h])
            } else for (h = 0; E[h] != null; h++)E[h] && E[h].nodeType === 1 && n.push(A[h]); else n.push.apply(n, E); else F(E, n);
            if (ja) {
                m(ja, x, n, q);
                m.uniqueSort(n)
            }
            return n
        };
        m.uniqueSort = function (h) {
            if (H) {
                k = s;
                h.sort(H);
                if (k)for (var i = 1; i < h.length; i++)h[i] === h[i - 1] && h.splice(i--, 1)
            }
            return h
        };
        m.matches = function (h, i) {
            return m(h, null, null, i)
        };
        m.find = function (h, i, n) {
            var q,
                x;
            if (!h)return [];
            for (var w = 0, C = r.order.length; w < C; w++) {
                var A = r.order[w];
                if (x = r.leftMatch[A].exec(h)) {
                    var E = x[1];
                    x.splice(1, 1);
                    if (E.substr(E.length - 1) !== "\\") {
                        x[1] = (x[1] || "").replace(/\\/g, "");
                        q = r.find[A](x, i, n);
                        if (q != null) {
                            h = h.replace(r.match[A], "");
                            break
                        }
                    }
                }
            }
            q || (q = i.getElementsByTagName("*"));
            return {set: q, expr: h}
        };
        m.filter = function (h, i, n, q) {
            for (var x = h, w = [], C = i, A, E, ja = i && i[0] && D(i[0]); h && i.length;) {
                for (var X in r.filter)if ((A = r.leftMatch[X].exec(h)) != null && A[2]) {
                    var ba = r.filter[X], Y, O;
                    O = A[1];
                    E = false;
                    A.splice(1, 1);
                    if (O.substr(O.length - 1) !== "\\") {
                        if (C === w) w = [];
                        if (r.preFilter[X])if (A = r.preFilter[X](A, C, n, w, q, ja)) {
                            if (A === true)continue
                        } else E = Y = true;
                        if (A)for (var la = 0; (O = C[la]) != null; la++)if (O) {
                            Y = ba(O, A, la, C);
                            var Pa = q ^ !!Y;
                            if (n && Y != null)if (Pa) E = true; else C[la] = false; else if (Pa) {
                                w.push(O);
                                E = true
                            }
                        }
                        if (Y !== j) {
                            n || (C = w);
                            h = h.replace(r.match[X], "");
                            if (!E)return [];
                            break
                        }
                    }
                }
                if (h === x)if (E == null) m.error(h); else break;
                x = h
            }
            return C
        };
        m.error = function (h) {
            throw"Syntax error, unrecognized expression: " + h;
        };
        var r = m.selectors =
            {
                order: ["ID", "NAME", "TAG"],
                match: {
                    ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
                    CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
                    NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
                    ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
                    TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
                    CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
                    POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
                    PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
                },
                leftMatch: {},
                attrMap: {"class": "className", "for": "htmlFor"},
                attrHandle: {
                    href: function (h) {
                        return h.getAttribute("href")
                    }
                },
                relative: {
                    "+": function (h, i) {
                        var n = typeof i === "string", q = n && !/\W/.test(i);
                        n = n && !q;
                        if (q) i = i.toLowerCase();
                        q = 0;
                        for (var x = h.length, w; q < x; q++)if (w = h[q]) {
                            for (; (w = w.previousSibling) && w.nodeType !== 1;);
                            h[q] = n || w && w.nodeName.toLowerCase() === i ? w || false : w === i
                        }
                        n && m.filter(i, h, true)
                    }, ">": function (h, i) {
                        var n = typeof i === "string";
                        if (n && !/\W/.test(i)) {
                            i = i.toLowerCase();
                            for (var q = 0, x = h.length; q < x; q++) {
                                var w = h[q];
                                if (w) {
                                    n = w.parentNode;
                                    h[q] = n.nodeName.toLowerCase() === i ? n : false
                                }
                            }
                        } else {
                            q = 0;
                            for (x = h.length; q < x; q++)if (w = h[q]) h[q] = n ? w.parentNode : w.parentNode === i;
                            n && m.filter(i, h, true)
                        }
                    }, "": function (h, i, n) {
                        var q = f++, x = e;
                        if (typeof i === "string" && !/\W/.test(i)) {
                            var w = i = i.toLowerCase();
                            x = b
                        }
                        x("parentNode", i, q, h, w, n)
                    }, "~": function (h, i, n) {
                        var q = f++, x = e;
                        if (typeof i === "string" && !/\W/.test(i)) {
                            var w = i = i.toLowerCase();
                            x = b
                        }
                        x("previousSibling", i, q, h, w, n)
                    }
                },
                find: {
                    ID: function (h, i, n) {
                        if (typeof i.getElementById !== "undefined" && !n)return (h =
                            i.getElementById(h[1])) ? [h] : []
                    }, NAME: function (h, i) {
                        if (typeof i.getElementsByName !== "undefined") {
                            var n = [];
                            i = i.getElementsByName(h[1]);
                            for (var q = 0, x = i.length; q < x; q++)i[q].getAttribute("name") === h[1] && n.push(i[q]);
                            return n.length === 0 ? null : n
                        }
                    }, TAG: function (h, i) {
                        return i.getElementsByTagName(h[1])
                    }
                },
                preFilter: {
                    CLASS: function (h, i, n, q, x, w) {
                        h = " " + h[1].replace(/\\/g, "") + " ";
                        if (w)return h;
                        w = 0;
                        for (var C; (C = i[w]) != null; w++)if (C)if (x ^ (C.className && (" " + C.className + " ").replace(/[\t\n]/g, " ").indexOf(h) >= 0)) n ||
                        q.push(C); else if (n) i[w] = false;
                        return false
                    }, ID: function (h) {
                        return h[1].replace(/\\/g, "")
                    }, TAG: function (h) {
                        return h[1].toLowerCase()
                    }, CHILD: function (h) {
                        if (h[1] === "nth") {
                            var i = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(h[2] === "even" && "2n" || h[2] === "odd" && "2n+1" || !/\D/.test(h[2]) && "0n+" + h[2] || h[2]);
                            h[2] = i[1] + (i[2] || 1) - 0;
                            h[3] = i[3] - 0
                        }
                        h[0] = f++;
                        return h
                    }, ATTR: function (h, i, n, q, x, w) {
                        i = h[1].replace(/\\/g, "");
                        if (!w && r.attrMap[i]) h[1] = r.attrMap[i];
                        if (h[2] === "~=") h[4] = " " + h[4] + " ";
                        return h
                    }, PSEUDO: function (h, i, n, q, x) {
                        if (h[1] ===
                            "not")if ((g.exec(h[3]) || "").length > 1 || /^\w/.test(h[3])) h[3] = m(h[3], null, null, i); else {
                            h = m.filter(h[3], i, n, true ^ x);
                            n || q.push.apply(q, h);
                            return false
                        } else if (r.match.POS.test(h[0]) || r.match.CHILD.test(h[0]))return true;
                        return h
                    }, POS: function (h) {
                        h.unshift(true);
                        return h
                    }
                },
                filters: {
                    enabled: function (h) {
                        return h.disabled === false && h.type !== "hidden"
                    }, disabled: function (h) {
                        return h.disabled === true
                    }, checked: function (h) {
                        return h.checked === true
                    }, selected: function (h) {
                        return h.selected === true
                    }, parent: function (h) {
                        return !!h.firstChild
                    },
                    empty: function (h) {
                        return !h.firstChild
                    }, has: function (h, i, n) {
                        return !!m(n[3], h).length
                    }, header: function (h) {
                        return /h\d/i.test(h.nodeName)
                    }, text: function (h) {
                        return "text" === h.type
                    }, radio: function (h) {
                        return "radio" === h.type
                    }, checkbox: function (h) {
                        return "checkbox" === h.type
                    }, file: function (h) {
                        return "file" === h.type
                    }, password: function (h) {
                        return "password" === h.type
                    }, submit: function (h) {
                        return "submit" === h.type
                    }, image: function (h) {
                        return "image" === h.type
                    }, reset: function (h) {
                        return "reset" === h.type
                    }, button: function (h) {
                        return "button" ===
                            h.type || h.nodeName.toLowerCase() === "button"
                    }, input: function (h) {
                        return /input|select|textarea|button/i.test(h.nodeName)
                    }
                },
                setFilters: {
                    first: function (h, i) {
                        return i === 0
                    }, last: function (h, i, n, q) {
                        return i === q.length - 1
                    }, even: function (h, i) {
                        return i % 2 === 0
                    }, odd: function (h, i) {
                        return i % 2 === 1
                    }, lt: function (h, i, n) {
                        return i < n[3] - 0
                    }, gt: function (h, i, n) {
                        return i > n[3] - 0
                    }, nth: function (h, i, n) {
                        return n[3] - 0 === i
                    }, eq: function (h, i, n) {
                        return n[3] - 0 === i
                    }
                },
                filter: {
                    PSEUDO: function (h, i, n, q) {
                        var x = i[1], w = r.filters[x];
                        if (w)return w(h,
                            n, i, q); else if (x === "contains")return (h.textContent || h.innerText || a([h]) || "").indexOf(i[3]) >= 0; else if (x === "not") {
                            i = i[3];
                            n = 0;
                            for (q = i.length; n < q; n++)if (i[n] === h)return false;
                            return true
                        } else m.error("Syntax error, unrecognized expression: " + x)
                    }, CHILD: function (h, i) {
                        var n = i[1], q = h;
                        switch (n) {
                            case "only":
                            case "first":
                                for (; q = q.previousSibling;)if (q.nodeType === 1)return false;
                                if (n === "first")return true;
                                q = h;
                            case "last":
                                for (; q = q.nextSibling;)if (q.nodeType === 1)return false;
                                return true;
                            case "nth":
                                n = i[2];
                                var x =
                                    i[3];
                                if (n === 1 && x === 0)return true;
                                i = i[0];
                                var w = h.parentNode;
                                if (w && (w.sizcache !== i || !h.nodeIndex)) {
                                    var C = 0;
                                    for (q = w.firstChild; q; q = q.nextSibling)if (q.nodeType === 1) q.nodeIndex = ++C;
                                    w.sizcache = i
                                }
                                h = h.nodeIndex - x;
                                return n === 0 ? h === 0 : h % n === 0 && h / n >= 0
                        }
                    }, ID: function (h, i) {
                        return h.nodeType === 1 && h.getAttribute("id") === i
                    }, TAG: function (h, i) {
                        return i === "*" && h.nodeType === 1 || h.nodeName.toLowerCase() === i
                    }, CLASS: function (h, i) {
                        return (" " + (h.className || h.getAttribute("class")) + " ").indexOf(i) > -1
                    }, ATTR: function (h, i) {
                        var n =
                            i[1];
                        h = r.attrHandle[n] ? r.attrHandle[n](h) : h[n] != null ? h[n] : h.getAttribute(n);
                        n = h + "";
                        var q = i[2];
                        i = i[4];
                        return h == null ? q === "!=" : q === "=" ? n === i : q === "*=" ? n.indexOf(i) >= 0 : q === "~=" ? (" " + n + " ").indexOf(i) >= 0 : !i ? n && h !== false : q === "!=" ? n !== i : q === "^=" ? n.indexOf(i) === 0 : q === "$=" ? n.substr(n.length - i.length) === i : q === "|=" ? n === i || n.substr(0, i.length + 1) === i + "-" : false
                    }, POS: function (h, i, n, q) {
                        var x = r.setFilters[i[2]];
                        if (x)return x(h, n, i, q)
                    }
                }
            }, y = r.match.POS;
        for (var B in r.match) {
            r.match[B] = new RegExp(r.match[B].source + /(?![^\[]*\])(?![^\(]*\))/.source);
            r.leftMatch[B] = new RegExp(/(^(?:.|\r|\n)*?)/.source + r.match[B].source.replace(/\\(\d+)/g, function (h, i) {
                    return "\\" + (i - 0 + 1)
                }))
        }
        var F = function (h, i) {
            h = Array.prototype.slice.call(h, 0);
            if (i) {
                i.push.apply(i, h);
                return i
            }
            return h
        };
        try {
            Array.prototype.slice.call(v.documentElement.childNodes, 0)
        } catch (I) {
            F = function (h, i) {
                i = i || [];
                if (l.call(h) === "[object Array]") Array.prototype.push.apply(i, h); else if (typeof h.length === "number")for (var n = 0,
                                                                                                                                     q = h.length; n < q; n++)i.push(h[n]); else for (n = 0; h[n]; n++)i.push(h[n]);
                return i
            }
        }
        var H;
        if (v.documentElement.compareDocumentPosition) H = function (h, i) {
            if (!h.compareDocumentPosition || !i.compareDocumentPosition) {
                if (h == i) k = true;
                return h.compareDocumentPosition ? -1 : 1
            }
            h = h.compareDocumentPosition(i) & 4 ? -1 : h === i ? 0 : 1;
            if (h === 0) k = true;
            return h
        }; else if ("sourceIndex" in v.documentElement) H = function (h, i) {
            if (!h.sourceIndex || !i.sourceIndex) {
                if (h == i) k = true;
                return h.sourceIndex ? -1 : 1
            }
            h = h.sourceIndex - i.sourceIndex;
            if (h === 0) k = true;
            return h
        }; else if (v.createRange) H = function (h, i) {
            if (!h.ownerDocument || !i.ownerDocument) {
                if (h ==
                    i) k = true;
                return h.ownerDocument ? -1 : 1
            }
            var n = h.ownerDocument.createRange(), q = i.ownerDocument.createRange();
            n.setStart(h, 0);
            n.setEnd(h, 0);
            q.setStart(i, 0);
            q.setEnd(i, 0);
            h = n.compareBoundaryPoints(Range.START_TO_END, q);
            if (h === 0) k = true;
            return h
        };
        (function () {
            var h = v.createElement("div"), i = "script" + (new Date).getTime();
            h.innerHTML = "<a name='" + i + "'/>";
            var n = v.documentElement;
            n.insertBefore(h, n.firstChild);
            if (v.getElementById(i)) {
                r.find.ID = function (q, x, w) {
                    if (typeof x.getElementById !== "undefined" && !w)return (x =
                        x.getElementById(q[1])) ? x.id === q[1] || typeof x.getAttributeNode !== "undefined" && x.getAttributeNode("id").nodeValue === q[1] ? [x] : j : []
                };
                r.filter.ID = function (q, x) {
                    var w = typeof q.getAttributeNode !== "undefined" && q.getAttributeNode("id");
                    return q.nodeType === 1 && w && w.nodeValue === x
                }
            }
            n.removeChild(h);
            n = h = null
        })();
        (function () {
            var h = v.createElement("div");
            h.appendChild(v.createComment(""));
            if (h.getElementsByTagName("*").length > 0) r.find.TAG = function (i, n) {
                n = n.getElementsByTagName(i[1]);
                if (i[1] === "*") {
                    i = [];
                    for (var q =
                        0; n[q]; q++)n[q].nodeType === 1 && i.push(n[q]);
                    n = i
                }
                return n
            };
            h.innerHTML = "<a href='#'></a>";
            if (h.firstChild && typeof h.firstChild.getAttribute !== "undefined" && h.firstChild.getAttribute("href") !== "#") r.attrHandle.href = function (i) {
                return i.getAttribute("href", 2)
            };
            h = null
        })();
        v.querySelectorAll && function () {
            var h = m, i = v.createElement("div");
            i.innerHTML = "<p class='TEST'></p>";
            if (!(i.querySelectorAll && i.querySelectorAll(".TEST").length === 0)) {
                m = function (q, x, w, C) {
                    x = x || v;
                    if (!C && x.nodeType === 9 && !D(x))try {
                        return F(x.querySelectorAll(q),
                            w)
                    } catch (A) {
                    }
                    return h(q, x, w, C)
                };
                for (var n in h)m[n] = h[n];
                i = null
            }
        }();
        (function () {
            var h = v.createElement("div");
            h.innerHTML = "<div class='test e'></div><div class='test'></div>";
            if (!(!h.getElementsByClassName || h.getElementsByClassName("e").length === 0)) {
                h.lastChild.className = "e";
                if (h.getElementsByClassName("e").length !== 1) {
                    r.order.splice(1, 0, "CLASS");
                    r.find.CLASS = function (i, n, q) {
                        if (typeof n.getElementsByClassName !== "undefined" && !q)return n.getElementsByClassName(i[1])
                    };
                    h = null
                }
            }
        })();
        var P = v.compareDocumentPosition ?
            function (h, i) {
                return !!(h.compareDocumentPosition(i) & 16)
            } : function (h, i) {
                return h !== i && (h.contains ? h.contains(i) : true)
            }, D = function (h) {
            return (h = (h ? h.ownerDocument || h : 0).documentElement) ? h.nodeName !== "HTML" : false
        }, wa = function (h, i) {
            var n = [], q = "", x;
            for (i = i.nodeType ? [i] : i; x = r.match.PSEUDO.exec(h);) {
                q += x[0];
                h = h.replace(r.match.PSEUDO, "")
            }
            h = r.relative[h] ? h + "*" : h;
            x = 0;
            for (var w = i.length; x < w; x++)m(h, i[x], n);
            return m.filter(q, n)
        };
        c.find = m;
        c.expr = m.selectors;
        c.expr[":"] = c.expr.filters;
        c.unique = m.uniqueSort;
        c.text =
            a;
        c.isXMLDoc = D;
        c.contains = P
    })();
    var fb = /Until$/, gb = /^(?:parents|prevUntil|prevAll)/, hb = /,/;
    ia = Array.prototype.slice;
    var Qa = function (a, b, e) {
        if (c.isFunction(b))return c.grep(a, function (f, l) {
            return !!b.call(f, l, f) === e
        }); else if (b.nodeType)return c.grep(a, function (f) {
            return f === b === e
        }); else if (typeof b === "string") {
            var g = c.grep(a, function (f) {
                return f.nodeType === 1
            });
            if (M.test(b))return c.filter(b, g, !e); else b = c.filter(b, g)
        }
        return c.grep(a, function (f) {
            return c.inArray(f, b) >= 0 === e
        })
    };
    c.fn.extend({
        find: function (a) {
            for (var b =
                this.pushStack("", "find", a), e = 0, g = 0, f = this.length; g < f; g++) {
                e = b.length;
                c.find(a, this[g], b);
                if (g > 0)for (var l = e; l < b.length; l++)for (var k = 0; k < e; k++)if (b[k] === b[l]) {
                    b.splice(l--, 1);
                    break
                }
            }
            return b
        }, has: function (a) {
            var b = c(a);
            return this.filter(function () {
                for (var e = 0, g = b.length; e < g; e++)if (c.contains(this, b[e]))return true
            })
        }, not: function (a) {
            return this.pushStack(Qa(this, a, false), "not", a)
        }, filter: function (a) {
            return this.pushStack(Qa(this, a, true), "filter", a)
        }, is: function (a) {
            return !!a && c.filter(a, this).length >
                0
        }, closest: function (a, b) {
            if (c.isArray(a)) {
                var e = [], g = this[0], f, l = {}, k;
                if (g && a.length) {
                    f = 0;
                    for (var s = a.length; f < s; f++) {
                        k = a[f];
                        l[k] || (l[k] = c.expr.match.POS.test(k) ? c(k, b || this.context) : k)
                    }
                    for (; g && g.ownerDocument && g !== b;) {
                        for (k in l) {
                            f = l[k];
                            if (f.jquery ? f.index(g) > -1 : c(g).is(f)) {
                                e.push({selector: k, elem: g});
                                delete l[k]
                            }
                        }
                        g = g.parentNode
                    }
                }
                return e
            }
            var m = c.expr.match.POS.test(a) ? c(a, b || this.context) : null;
            return this.map(function (r, y) {
                for (; y && y.ownerDocument && y !== b;) {
                    if (m ? m.index(y) > -1 : c(y).is(a))return y;
                    y = y.parentNode
                }
                return null
            })
        }, index: function (a) {
            if (!a || typeof a === "string")return c.inArray(this[0], a ? c(a) : this.parent().children());
            return c.inArray(a.jquery ? a[0] : a, this)
        }, add: function (a, b) {
            a = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a);
            b = c.merge(this.get(), a);
            return this.pushStack(Z(a[0]) || Z(b[0]) ? b : c.unique(b))
        }, andSelf: function () {
            return this.add(this.prevObject)
        }
    });
    c.each({
        parent: function (a) {
            return (a = a.parentNode) && a.nodeType !== 11 ? a : null
        }, parents: function (a) {
            return c.dir(a, "parentNode")
        },
        parentsUntil: function (a, b, e) {
            return c.dir(a, "parentNode", e)
        }, next: function (a) {
            return c.nth(a, 2, "nextSibling")
        }, prev: function (a) {
            return c.nth(a, 2, "previousSibling")
        }, nextAll: function (a) {
            return c.dir(a, "nextSibling")
        }, prevAll: function (a) {
            return c.dir(a, "previousSibling")
        }, nextUntil: function (a, b, e) {
            return c.dir(a, "nextSibling", e)
        }, prevUntil: function (a, b, e) {
            return c.dir(a, "previousSibling", e)
        }, siblings: function (a) {
            return c.sibling(a.parentNode.firstChild, a)
        }, children: function (a) {
            return c.sibling(a.firstChild)
        },
        contents: function (a) {
            return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes)
        }
    }, function (a, b) {
        c.fn[a] = function (e, g) {
            var f = c.map(this, b, e);
            fb.test(a) || (g = e);
            if (g && typeof g === "string") f = c.filter(g, f);
            f = this.length > 1 ? c.unique(f) : f;
            if ((this.length > 1 || hb.test(g)) && gb.test(a)) f = f.reverse();
            return this.pushStack(f, a, ia.call(arguments).join(","))
        }
    });
    c.extend({
        filter: function (a, b, e) {
            if (e) a = ":not(" + a + ")";
            return c.find.matches(a, b)
        }, dir: function (a, b, e) {
            var g = [];
            for (a =
                     a[b]; a && a.nodeType !== 9 && (e === j || a.nodeType !== 1 || !c(a).is(e));) {
                a.nodeType === 1 && g.push(a);
                a = a[b]
            }
            return g
        }, nth: function (a, b, e) {
            b = b || 1;
            for (var g = 0; a; a = a[e])if (a.nodeType === 1 && ++g === b)break;
            return a
        }, sibling: function (a, b) {
            for (var e = []; a; a = a.nextSibling)a.nodeType === 1 && a !== b && e.push(a);
            return e
        }
    });
    var Ra = / jQuery\d+="(?:\d+|null)"/g, ma = /^\s+/, Sa = /(<([\w:]+)[^>]*?)\/>/g,
        ib = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, Ta = /<([\w:]+)/, jb = /<tbody/i,
        kb = /<|&#?\w+;/, Ca = /<script|<object|<embed|<option|<style/i,
        Da = /checked\s*(?:[^=]|=\s*.checked.)/i, Ua = function (a, b, e) {
            return ib.test(e) ? a : b + "></" + e + ">"
        }, Q = {
            option: [1, "<select multiple='multiple'>", "</select>"],
            legend: [1, "<fieldset>", "</fieldset>"],
            thead: [1, "<table>", "</table>"],
            tr: [2, "<table><tbody>", "</tbody></table>"],
            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
            area: [1, "<map>", "</map>"],
            _default: [0, "", ""]
        };
    Q.optgroup = Q.option;
    Q.tbody = Q.tfoot = Q.colgroup = Q.caption = Q.thead;
    Q.th = Q.td;
    if (!c.support.htmlSerialize) Q._default =
        [1, "div<div>", "</div>"];
    c.fn.extend({
        text: function (a) {
            if (c.isFunction(a))return this.each(function (b) {
                var e = c(this);
                e.text(a.call(this, b, e.text()))
            });
            if (typeof a !== "object" && a !== j)return this.empty().append((this[0] && this[0].ownerDocument || v).createTextNode(a));
            return c.text(this)
        }, wrapAll: function (a) {
            if (c.isFunction(a))return this.each(function (e) {
                c(this).wrapAll(a.call(this, e))
            });
            if (this[0]) {
                var b = c(a, this[0].ownerDocument).eq(0).clone(true);
                this[0].parentNode && b.insertBefore(this[0]);
                b.map(function () {
                    for (var e =
                        this; e.firstChild && e.firstChild.nodeType === 1;)e = e.firstChild;
                    return e
                }).append(this)
            }
            return this
        }, wrapInner: function (a) {
            if (c.isFunction(a))return this.each(function (b) {
                c(this).wrapInner(a.call(this, b))
            });
            return this.each(function () {
                var b = c(this), e = b.contents();
                e.length ? e.wrapAll(a) : b.append(a)
            })
        }, wrap: function (a) {
            return this.each(function () {
                c(this).wrapAll(a)
            })
        }, unwrap: function () {
            return this.parent().each(function () {
                c.nodeName(this, "body") || c(this).replaceWith(this.childNodes)
            }).end()
        }, append: function () {
            return this.domManip(arguments,
                true, function (a) {
                    this.nodeType === 1 && this.appendChild(a)
                })
        }, prepend: function () {
            return this.domManip(arguments, true, function (a) {
                this.nodeType === 1 && this.insertBefore(a, this.firstChild)
            })
        }, before: function () {
            if (this[0] && this[0].parentNode)return this.domManip(arguments, false, function (b) {
                this.parentNode.insertBefore(b, this)
            }); else if (arguments.length) {
                var a = c(arguments[0]);
                a.push.apply(a, this.toArray());
                return this.pushStack(a, "before", arguments)
            }
        }, after: function () {
            if (this[0] && this[0].parentNode)return this.domManip(arguments,
                false, function (b) {
                    this.parentNode.insertBefore(b, this.nextSibling)
                }); else if (arguments.length) {
                var a = this.pushStack(this, "after", arguments);
                a.push.apply(a, c(arguments[0]).toArray());
                return a
            }
        }, remove: function (a, b) {
            for (var e = 0, g; (g = this[e]) != null; e++)if (!a || c.filter(a, [g]).length) {
                if (!b && g.nodeType === 1) {
                    c.cleanData(g.getElementsByTagName("*"));
                    c.cleanData([g])
                }
                g.parentNode && g.parentNode.removeChild(g)
            }
            return this
        }, empty: function () {
            for (var a = 0,
                     b; (b = this[a]) != null; a++)for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild;)b.removeChild(b.firstChild);
            return this
        }, clone: function (a) {
            var b = this.map(function () {
                if (!c.support.noCloneEvent && !c.isXMLDoc(this)) {
                    var e = this.outerHTML, g = this.ownerDocument;
                    if (!e) {
                        e = g.createElement("div");
                        e.appendChild(this.cloneNode(true));
                        e = e.innerHTML
                    }
                    return c.clean([e.replace(Ra, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(ma, "")], g)[0]
                } else return this.cloneNode(true)
            });
            if (a === true) {
                ea(this, b);
                ea(this.find("*"), b.find("*"))
            }
            return b
        }, html: function (a) {
            if (a === j)return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ra,
                "") : null; else if (typeof a === "string" && !Ca.test(a) && (c.support.leadingWhitespace || !ma.test(a)) && !Q[(Ta.exec(a) || ["", ""])[1].toLowerCase()]) {
                a = a.replace(Sa, Ua);
                try {
                    for (var b = 0, e = this.length; b < e; b++)if (this[b].nodeType === 1) {
                        c.cleanData(this[b].getElementsByTagName("*"));
                        this[b].innerHTML = a
                    }
                } catch (g) {
                    this.empty().append(a)
                }
            } else c.isFunction(a) ? this.each(function (f) {
                var l = c(this), k = l.html();
                l.empty().append(function () {
                    return a.call(this, f, k)
                })
            }) : this.empty().append(a);
            return this
        }, replaceWith: function (a) {
            if (this[0] &&
                this[0].parentNode) {
                if (c.isFunction(a))return this.each(function (b) {
                    var e = c(this), g = e.html();
                    e.replaceWith(a.call(this, b, g))
                });
                if (typeof a !== "string") a = c(a).detach();
                return this.each(function () {
                    var b = this.nextSibling, e = this.parentNode;
                    c(this).remove();
                    b ? c(b).before(a) : c(e).append(a)
                })
            } else return this.pushStack(c(c.isFunction(a) ? a() : a), "replaceWith", a)
        }, detach: function (a) {
            return this.remove(a, true)
        }, domManip: function (a, b, e) {
            function g(B) {
                return c.nodeName(B, "table") ? B.getElementsByTagName("tbody")[0] ||
                    B.appendChild(B.ownerDocument.createElement("tbody")) : B
            }

            var f, l, k = a[0], s = [], m;
            if (!c.support.checkClone && arguments.length === 3 && typeof k === "string" && Da.test(k))return this.each(function () {
                c(this).domManip(a, b, e, true)
            });
            if (c.isFunction(k))return this.each(function (B) {
                var F = c(this);
                a[0] = k.call(this, B, b ? F.html() : j);
                F.domManip(a, b, e)
            });
            if (this[0]) {
                f = k && k.parentNode;
                f = c.support.parentNode && f && f.nodeType === 11 && f.childNodes.length === this.length ? {fragment: f} : fa(a, this, s);
                m = f.fragment;
                if (l = m.childNodes.length ===
                    1 ? (m = m.firstChild) : m.firstChild) {
                    b = b && c.nodeName(l, "tr");
                    for (var r = 0,
                             y = this.length; r < y; r++)e.call(b ? g(this[r], l) : this[r], r > 0 || f.cacheable || this.length > 1 ? m.cloneNode(true) : m)
                }
                s.length && c.each(s, t)
            }
            return this
        }
    });
    c.fragments = {};
    c.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after",
        replaceAll: "replaceWith"
    }, function (a, b) {
        c.fn[a] = function (e) {
            var g = [];
            e = c(e);
            var f = this.length === 1 && this[0].parentNode;
            if (f && f.nodeType === 11 && f.childNodes.length === 1 && e.length === 1) {
                e[b](this[0]);
                return this
            } else {
                f = 0;
                for (var l = e.length; f < l; f++) {
                    var k = (f > 0 ? this.clone(true) : this).get();
                    c.fn[b].apply(c(e[f]), k);
                    g = g.concat(k)
                }
                return this.pushStack(g, a, e.selector)
            }
        }
    });
    c.extend({
        clean: function (a, b, e, g) {
            b = b || v;
            if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || v;
            for (var f = [], l = 0, k; (k = a[l]) != null; l++) {
                if (typeof k === "number") k += "";
                if (k) {
                    if (typeof k === "string" && !kb.test(k)) k = b.createTextNode(k); else if (typeof k === "string") {
                        k = k.replace(Sa, Ua);
                        var s = (Ta.exec(k) || ["",
                            ""])[1].toLowerCase(), m = Q[s] || Q._default, r = m[0], y = b.createElement("div");
                        for (y.innerHTML = m[1] + k + m[2]; r--;)y = y.lastChild;
                        if (!c.support.tbody) {
                            r = jb.test(k);
                            s = s === "table" && !r ? y.firstChild && y.firstChild.childNodes : m[1] === "<table>" && !r ? y.childNodes : [];
                            for (m = s.length - 1; m >= 0; --m)c.nodeName(s[m], "tbody") && !s[m].childNodes.length && s[m].parentNode.removeChild(s[m])
                        }
                        !c.support.leadingWhitespace && ma.test(k) && y.insertBefore(b.createTextNode(ma.exec(k)[0]), y.firstChild);
                        k = y.childNodes
                    }
                    if (k.nodeType) f.push(k); else f =
                        c.merge(f, k)
                }
            }
            if (e)for (l = 0; f[l]; l++)if (g && c.nodeName(f[l], "script") && (!f[l].type || f[l].type.toLowerCase() === "text/javascript")) g.push(f[l].parentNode ? f[l].parentNode.removeChild(f[l]) : f[l]); else {
                f[l].nodeType === 1 && f.splice.apply(f, [l + 1, 0].concat(c.makeArray(f[l].getElementsByTagName("script"))));
                e.appendChild(f[l])
            }
            return f
        }, cleanData: function (a) {
            for (var b, e, g = c.cache, f = c.event.special, l = c.support.deleteExpando, k = 0,
                     s; (s = a[k]) != null; k++)if (e = s[c.expando]) {
                b = g[e];
                if (b.events)for (var m in b.events)f[m] ?
                    c.event.remove(s, m) : Ka(s, m, b.handle);
                if (l) delete s[c.expando]; else s.removeAttribute && s.removeAttribute(c.expando);
                delete g[e]
            }
        }
    });
    var lb = /z-?index|font-?weight|opacity|zoom|line-?height/i, Va = /alpha\([^)]*\)/, Wa = /opacity=([^)]*)/,
        xa = /float/i, ya = /-([a-z])/ig, mb = /([A-Z])/g, nb = /^-?\d+(?:px)?$/i, ob = /^-?\d/,
        pb = {position: "absolute", visibility: "hidden", display: "block"}, qb = ["Left", "Right"],
        rb = ["Top", "Bottom"], sb = v.defaultView && v.defaultView.getComputedStyle,
        Xa = c.support.cssFloat ? "cssFloat" : "styleFloat", za =
            function (a, b) {
                return b.toUpperCase()
            };
    c.fn.css = function (a, b) {
        return o(this, a, b, true, function (e, g, f) {
            if (f === j)return c.curCSS(e, g);
            if (typeof f === "number" && !lb.test(g)) f += "px";
            c.style(e, g, f)
        })
    };
    c.extend({
        style: function (a, b, e) {
            if (!a || a.nodeType === 3 || a.nodeType === 8)return j;
            if ((b === "width" || b === "height") && parseFloat(e) < 0) e = j;
            var g = a.style || a, f = e !== j;
            if (!c.support.opacity && b === "opacity") {
                if (f) {
                    g.zoom = 1;
                    b = parseInt(e, 10) + "" === "NaN" ? "" : "alpha(opacity=" + e * 100 + ")";
                    a = g.filter || c.curCSS(a, "filter") || "";
                    g.filter =
                        Va.test(a) ? a.replace(Va, b) : b
                }
                return g.filter && g.filter.indexOf("opacity=") >= 0 ? parseFloat(Wa.exec(g.filter)[1]) / 100 + "" : ""
            }
            if (xa.test(b)) b = Xa;
            b = b.replace(ya, za);
            if (f) g[b] = e;
            return g[b]
        }, css: function (a, b, e, g) {
            if (b === "width" || b === "height") {
                var f, l = b === "width" ? qb : rb;

                function k() {
                    f = b === "width" ? a.offsetWidth : a.offsetHeight;
                    g !== "border" && c.each(l, function () {
                        g || (f -= parseFloat(c.curCSS(a, "padding" + this, true)) || 0);
                        if (g === "margin") f += parseFloat(c.curCSS(a, "margin" + this, true)) || 0; else f -= parseFloat(c.curCSS(a,
                                "border" + this + "Width", true)) || 0
                    })
                }

                a.offsetWidth !== 0 ? k() : c.swap(a, pb, k);
                return Math.max(0, Math.round(f))
            }
            return c.curCSS(a, b, e)
        }, curCSS: function (a, b, e) {
            var g, f = a.style;
            if (!c.support.opacity && b === "opacity" && a.currentStyle) {
                g = Wa.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : "";
                return g === "" ? "1" : g
            }
            if (xa.test(b)) b = Xa;
            if (!e && f && f[b]) g = f[b]; else if (sb) {
                if (xa.test(b)) b = "float";
                b = b.replace(mb, "-$1").toLowerCase();
                f = a.ownerDocument.defaultView;
                if (!f)return null;
                if (a = f.getComputedStyle(a, null)) g =
                    a.getPropertyValue(b);
                if (b === "opacity" && g === "") g = "1"
            } else if (a.currentStyle) {
                e = b.replace(ya, za);
                g = a.currentStyle[b] || a.currentStyle[e];
                if (!nb.test(g) && ob.test(g)) {
                    b = f.left;
                    var l = a.runtimeStyle.left;
                    a.runtimeStyle.left = a.currentStyle.left;
                    f.left = e === "fontSize" ? "1em" : g || 0;
                    g = f.pixelLeft + "px";
                    f.left = b;
                    a.runtimeStyle.left = l
                }
            }
            return g
        }, swap: function (a, b, e) {
            var g = {};
            for (var f in b) {
                g[f] = a.style[f];
                a.style[f] = b[f]
            }
            e.call(a);
            for (f in b)a.style[f] = g[f]
        }
    });
    if (c.expr && c.expr.filters) {
        c.expr.filters.hidden = function (a) {
            var b =
                a.offsetWidth, e = a.offsetHeight, g = a.nodeName.toLowerCase() === "tr";
            return b === 0 && e === 0 && !g ? true : b > 0 && e > 0 && !g ? false : c.curCSS(a, "display") === "none"
        };
        c.expr.filters.visible = function (a) {
            return !c.expr.filters.hidden(a)
        }
    }
    var tb = z(), ub = /<script(.|\s)*?\/script>/gi, vb = /select|textarea/i,
        wb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
        ca = /=\?(&|$)/, Aa = /\?/, xb = /(\?|&)_=.*?(&|$)/, yb = /^(\w+:)?\/\/([^\/?#]+)/, zb = /%20/g, Ab = c.fn.load;
    c.fn.extend({
        load: function (a, b,
                        e) {
            if (typeof a !== "string")return Ab.call(this, a); else if (!this.length)return this;
            var g = a.indexOf(" ");
            if (g >= 0) {
                var f = a.slice(g, a.length);
                a = a.slice(0, g)
            }
            g = "GET";
            if (b)if (c.isFunction(b)) {
                e = b;
                b = null
            } else if (typeof b === "object") {
                b = c.param(b, c.ajaxSettings.traditional);
                g = "POST"
            }
            var l = this;
            c.ajax({
                url: a, type: g, dataType: "html", data: b, complete: function (k, s) {
                    if (s === "success" || s === "notmodified") l.html(f ? c("<div />").append(k.responseText.replace(ub, "")).find(f) : k.responseText);
                    e && l.each(e, [k.responseText,
                        s, k])
                }
            });
            return this
        }, serialize: function () {
            return c.param(this.serializeArray())
        }, serializeArray: function () {
            return this.map(function () {
                return this.elements ? c.makeArray(this.elements) : this
            }).filter(function () {
                return this.name && !this.disabled && (this.checked || vb.test(this.nodeName) || wb.test(this.type))
            }).map(function (a, b) {
                a = c(this).val();
                return a == null ? null : c.isArray(a) ? c.map(a, function (e) {
                    return {name: b.name, value: e}
                }) : {name: b.name, value: a}
            }).get()
        }
    });
    c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
        function (a, b) {
            c.fn[b] = function (e) {
                return this.bind(b, e)
            }
        });
    c.extend({
        get: function (a, b, e, g) {
            if (c.isFunction(b)) {
                g = g || e;
                e = b;
                b = null
            }
            return c.ajax({type: "GET", url: a, data: b, success: e, dataType: g})
        }, getScript: function (a, b) {
            return c.get(a, null, b, "script")
        }, getJSON: function (a, b, e) {
            return c.get(a, b, e, "json")
        }, post: function (a, b, e, g) {
            if (c.isFunction(b)) {
                g = g || e;
                e = b;
                b = {}
            }
            return c.ajax({type: "POST", url: a, data: b, success: e, dataType: g})
        }, ajaxSetup: function (a) {
            c.extend(c.ajaxSettings, a)
        }, ajaxSettings: {
            url: location.href,
            global: true,
            type: "GET",
            contentType: "application/x-www-form-urlencoded",
            processData: true,
            async: true,
            xhr: p.XMLHttpRequest && (p.location.protocol !== "file:" || !p.ActiveXObject) ? function () {
                return new p.XMLHttpRequest
            } : function () {
                try {
                    return new p.ActiveXObject("Microsoft.XMLHTTP")
                } catch (a) {
                }
            },
            accepts: {
                xml: "application/xml, text/xml",
                html: "text/html",
                script: "text/javascript, application/javascript",
                json: "application/json, text/javascript",
                text: "text/plain",
                _default: "*/*"
            }
        }, lastModified: {}, etag: {}, ajax: function (a) {
            function b() {
                f.success &&
                f.success.call(m, s, k, D);
                f.global && g("ajaxSuccess", [D, f])
            }

            function e() {
                f.complete && f.complete.call(m, D, k);
                f.global && g("ajaxComplete", [D, f]);
                f.global && !--c.active && c.event.trigger("ajaxStop")
            }

            function g(x, w) {
                (f.context ? c(f.context) : c.event).trigger(x, w)
            }

            var f = c.extend(true, {}, c.ajaxSettings, a), l, k, s, m = a && a.context || f, r = f.type.toUpperCase();
            if (f.data && f.processData && typeof f.data !== "string") f.data = c.param(f.data, f.traditional);
            if (f.dataType === "jsonp") {
                if (r === "GET") ca.test(f.url) || (f.url += (Aa.test(f.url) ?
                        "&" : "?") + (f.jsonp || "callback") + "=?"); else if (!f.data || !ca.test(f.data)) f.data = (f.data ? f.data + "&" : "") + (f.jsonp || "callback") + "=?";
                f.dataType = "json"
            }
            if (f.dataType === "json" && (f.data && ca.test(f.data) || ca.test(f.url))) {
                l = f.jsonpCallback || "jsonp" + tb++;
                if (f.data) f.data = (f.data + "").replace(ca, "=" + l + "$1");
                f.url = f.url.replace(ca, "=" + l + "$1");
                f.dataType = "script";
                p[l] = p[l] || function (x) {
                        s = x;
                        b();
                        e();
                        p[l] = j;
                        try {
                            delete p[l]
                        } catch (w) {
                        }
                        F && F.removeChild(I)
                    }
            }
            if (f.dataType === "script" && f.cache === null) f.cache = false;
            if (f.cache ===
                false && r === "GET") {
                var y = z(), B = f.url.replace(xb, "$1_=" + y + "$2");
                f.url = B + (B === f.url ? (Aa.test(f.url) ? "&" : "?") + "_=" + y : "")
            }
            if (f.data && r === "GET") f.url += (Aa.test(f.url) ? "&" : "?") + f.data;
            f.global && !c.active++ && c.event.trigger("ajaxStart");
            y = (y = yb.exec(f.url)) && (y[1] && y[1] !== location.protocol || y[2] !== location.host);
            if (f.dataType === "script" && r === "GET" && y) {
                var F = v.getElementsByTagName("head")[0] || v.documentElement, I = v.createElement("script");
                I.src = f.url;
                if (f.scriptCharset) I.charset = f.scriptCharset;
                if (!l) {
                    var H =
                        false;
                    I.onload = I.onreadystatechange = function () {
                        if (!H && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
                            H = true;
                            b();
                            e();
                            I.onload = I.onreadystatechange = null;
                            F && I.parentNode && F.removeChild(I)
                        }
                    }
                }
                F.insertBefore(I, F.firstChild);
                return j
            }
            var P = false, D = f.xhr();
            if (D) {
                f.username ? D.open(r, f.url, f.async, f.username, f.password) : D.open(r, f.url, f.async);
                try {
                    if (f.data || a && a.contentType) D.setRequestHeader("Content-Type", f.contentType);
                    if (f.ifModified) {
                        c.lastModified[f.url] && D.setRequestHeader("If-Modified-Since",
                            c.lastModified[f.url]);
                        c.etag[f.url] && D.setRequestHeader("If-None-Match", c.etag[f.url])
                    }
                    y || D.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                    D.setRequestHeader("Accept", f.dataType && f.accepts[f.dataType] ? f.accepts[f.dataType] + ", */*" : f.accepts._default)
                } catch (wa) {
                }
                if (f.beforeSend && f.beforeSend.call(m, D, f) === false) {
                    f.global && !--c.active && c.event.trigger("ajaxStop");
                    D.abort();
                    return false
                }
                f.global && g("ajaxSend", [D, f]);
                var h = D.onreadystatechange = function (x) {
                    if (!D || D.readyState === 0 || x === "abort") {
                        P ||
                        e();
                        P = true;
                        if (D) D.onreadystatechange = c.noop
                    } else if (!P && D && (D.readyState === 4 || x === "timeout")) {
                        P = true;
                        D.onreadystatechange = c.noop;
                        k = x === "timeout" ? "timeout" : !c.httpSuccess(D) ? "error" : f.ifModified && c.httpNotModified(D, f.url) ? "notmodified" : "success";
                        var w;
                        if (k === "success")try {
                            s = c.httpData(D, f.dataType, f)
                        } catch (C) {
                            k = "parsererror";
                            w = C
                        }
                        if (k === "success" || k === "notmodified") l || b(); else c.handleError(f, D, k, w);
                        e();
                        x === "timeout" && D.abort();
                        if (f.async) D = null
                    }
                };
                try {
                    var i = D.abort;
                    D.abort = function () {
                        D && i.call(D);
                        h("abort")
                    }
                } catch (n) {
                }
                f.async && f.timeout > 0 && setTimeout(function () {
                    D && !P && h("timeout")
                }, f.timeout);
                try {
                    D.send(r === "POST" || r === "PUT" || r === "DELETE" ? f.data : null)
                } catch (q) {
                    c.handleError(f, D, null, q);
                    e()
                }
                f.async || h();
                return D
            }
        }, handleError: function (a, b, e, g) {
            if (a.error) a.error.call(a.context || a, b, e, g);
            if (a.global) (a.context ? c(a.context) : c.event).trigger("ajaxError", [b, a, g])
        }, active: 0, httpSuccess: function (a) {
            try {
                return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status ===
                    1223 || a.status === 0
            } catch (b) {
            }
            return false
        }, httpNotModified: function (a, b) {
            var e = a.getResponseHeader("Last-Modified"), g = a.getResponseHeader("Etag");
            if (e) c.lastModified[b] = e;
            if (g) c.etag[b] = g;
            return a.status === 304 || a.status === 0
        }, httpData: function (a, b, e) {
            var g = a.getResponseHeader("content-type") || "", f = b === "xml" || !b && g.indexOf("xml") >= 0;
            a = f ? a.responseXML : a.responseText;
            f && a.documentElement.nodeName === "parsererror" && c.error("parsererror");
            if (e && e.dataFilter) a = e.dataFilter(a, b);
            if (typeof a === "string")if (b ===
                "json" || !b && g.indexOf("json") >= 0) a = c.parseJSON(a); else if (b === "script" || !b && g.indexOf("javascript") >= 0) c.globalEval(a);
            return a
        }, param: function (a, b) {
            function e(k, s) {
                if (c.isArray(s)) c.each(s, function (m, r) {
                    b || /\[\]$/.test(k) ? g(k, r) : e(k + "[" + (typeof r === "object" || c.isArray(r) ? m : "") + "]", r)
                }); else!b && s != null && typeof s === "object" ? c.each(s, function (m, r) {
                    e(k + "[" + m + "]", r)
                }) : g(k, s)
            }

            function g(k, s) {
                s = c.isFunction(s) ? s() : s;
                f[f.length] = encodeURIComponent(k) + "=" + encodeURIComponent(s)
            }

            var f = [];
            if (b === j) b = c.ajaxSettings.traditional;
            if (c.isArray(a) || a.jquery) c.each(a, function () {
                g(this.name, this.value)
            }); else for (var l in a)e(l, a[l]);
            return f.join("&").replace(zb, "+")
        }
    });
    var Ba = {}, Bb = /toggle|show|hide/, Cb = /^([+-]=)?([\d+-.]+)(.*)$/, na,
        Ea = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]];
    c.fn.extend({
        show: function (a, b) {
            if (a || a === 0)return this.animate(T("show", 3), a, b); else {
                a = 0;
                for (b = this.length; a < b; a++) {
                    var e = c.data(this[a], "olddisplay");
                    this[a].style.display = e || "";
                    if (c.css(this[a], "display") === "none") {
                        e = this[a].nodeName;
                        var g;
                        if (Ba[e]) g = Ba[e]; else {
                            var f = c("<" + e + " />").appendTo("body");
                            g = f.css("display");
                            if (g === "none") g = "block";
                            f.remove();
                            Ba[e] = g
                        }
                        c.data(this[a], "olddisplay", g)
                    }
                }
                a = 0;
                for (b = this.length; a < b; a++)this[a].style.display = c.data(this[a], "olddisplay") || "";
                return this
            }
        }, hide: function (a, b) {
            if (a || a === 0)return this.animate(T("hide", 3), a, b); else {
                a = 0;
                for (b = this.length; a < b; a++) {
                    var e = c.data(this[a], "olddisplay");
                    !e && e !== "none" && c.data(this[a],
                        "olddisplay", c.css(this[a], "display"))
                }
                a = 0;
                for (b = this.length; a < b; a++)this[a].style.display = "none";
                return this
            }
        }, _toggle: c.fn.toggle, toggle: function (a, b) {
            var e = typeof a === "boolean";
            if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); else a == null || e ? this.each(function () {
                var g = e ? a : c(this).is(":hidden");
                c(this)[g ? "show" : "hide"]()
            }) : this.animate(T("toggle", 3), a, b);
            return this
        }, fadeTo: function (a, b, e) {
            return this.filter(":hidden").css("opacity", 0).show().end().animate({opacity: b}, a, e)
        },
        animate: function (a, b, e, g) {
            var f = c.speed(b, e, g);
            if (c.isEmptyObject(a))return this.each(f.complete);
            return this[f.queue === false ? "each" : "queue"](function () {
                var l = c.extend({}, f), k, s = this.nodeType === 1 && c(this).is(":hidden"), m = this;
                for (k in a) {
                    var r = k.replace(ya, za);
                    if (k !== r) {
                        a[r] = a[k];
                        delete a[k];
                        k = r
                    }
                    if (a[k] === "hide" && s || a[k] === "show" && !s)return l.complete.call(this);
                    if ((k === "height" || k === "width") && this.style) {
                        l.display = c.css(this, "display");
                        l.overflow = this.style.overflow
                    }
                    if (c.isArray(a[k])) {
                        (l.specialEasing =
                            l.specialEasing || {})[k] = a[k][1];
                        a[k] = a[k][0]
                    }
                }
                if (l.overflow != null) this.style.overflow = "hidden";
                l.curAnim = c.extend({}, a);
                c.each(a, function (y, B) {
                    var F = new c.fx(m, l, y);
                    if (Bb.test(B)) F[B === "toggle" ? s ? "show" : "hide" : B](a); else {
                        var I = Cb.exec(B), H = F.cur(true) || 0;
                        if (I) {
                            B = parseFloat(I[2]);
                            var P = I[3] || "px";
                            if (P !== "px") {
                                m.style[y] = (B || 1) + P;
                                H = (B || 1) / F.cur(true) * H;
                                m.style[y] = H + P
                            }
                            if (I[1]) B = (I[1] === "-=" ? -1 : 1) * B + H;
                            F.custom(H, B, P)
                        } else F.custom(H, B, "")
                    }
                });
                return true
            })
        }, stop: function (a, b) {
            var e = c.timers;
            a && this.queue([]);
            this.each(function () {
                for (var g = e.length - 1; g >= 0; g--)if (e[g].elem === this) {
                    b && e[g](true);
                    e.splice(g, 1)
                }
            });
            b || this.dequeue();
            return this
        }
    });
    c.each({
        slideDown: T("show", 1),
        slideUp: T("hide", 1),
        slideToggle: T("toggle", 1),
        fadeIn: {opacity: "show"},
        fadeOut: {opacity: "hide"}
    }, function (a, b) {
        c.fn[a] = function (e, g) {
            return this.animate(b, e, g)
        }
    });
    c.extend({
        speed: function (a, b, e) {
            var g = a && typeof a === "object" ? a : {
                complete: e || !e && b || c.isFunction(a) && a,
                duration: a,
                easing: e && b || b && !c.isFunction(b) && b
            };
            g.duration = c.fx.off ? 0 : typeof g.duration ===
            "number" ? g.duration : c.fx.speeds[g.duration] || c.fx.speeds._default;
            g.old = g.complete;
            g.complete = function () {
                g.queue !== false && c(this).dequeue();
                c.isFunction(g.old) && g.old.call(this)
            };
            return g
        }, easing: {
            linear: function (a, b, e, g) {
                return e + g * a
            }, swing: function (a, b, e, g) {
                return (-Math.cos(a * Math.PI) / 2 + 0.5) * g + e
            }
        }, timers: [], fx: function (a, b, e) {
            this.options = b;
            this.elem = a;
            this.prop = e;
            if (!b.orig) b.orig = {}
        }
    });
    c.fx.prototype = {
        update: function () {
            this.options.step && this.options.step.call(this.elem, this.now, this);
            (c.fx.step[this.prop] ||
            c.fx.step._default)(this);
            if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = "block"
        }, cur: function (a) {
            if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null))return this.elem[this.prop];
            return (a = parseFloat(c.css(this.elem, this.prop, a))) && a > -10000 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0
        }, custom: function (a, b, e) {
            function g(l) {
                return f.step(l)
            }

            this.startTime = z();
            this.start = a;
            this.end = b;
            this.unit = e || this.unit || "px";
            this.now = this.start;
            this.pos = this.state = 0;
            var f = this;
            g.elem = this.elem;
            if (g() && c.timers.push(g) && !na) na = setInterval(c.fx.tick, 13)
        }, show: function () {
            this.options.orig[this.prop] = c.style(this.elem, this.prop);
            this.options.show = true;
            this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
            c(this.elem).show()
        }, hide: function () {
            this.options.orig[this.prop] = c.style(this.elem, this.prop);
            this.options.hide = true;
            this.custom(this.cur(), 0)
        }, step: function (a) {
            var b = z(), e = true;
            if (a || b >= this.options.duration + this.startTime) {
                this.now =
                    this.end;
                this.pos = this.state = 1;
                this.update();
                this.options.curAnim[this.prop] = true;
                for (var g in this.options.curAnim)if (this.options.curAnim[g] !== true) e = false;
                if (e) {
                    if (this.options.display != null) {
                        this.elem.style.overflow = this.options.overflow;
                        a = c.data(this.elem, "olddisplay");
                        this.elem.style.display = a ? a : this.options.display;
                        if (c.css(this.elem, "display") === "none") this.elem.style.display = "block"
                    }
                    this.options.hide && c(this.elem).hide();
                    if (this.options.hide || this.options.show)for (var f in this.options.curAnim)c.style(this.elem,
                        f, this.options.orig[f]);
                    this.options.complete.call(this.elem)
                }
                return false
            } else {
                f = b - this.startTime;
                this.state = f / this.options.duration;
                a = this.options.easing || (c.easing.swing ? "swing" : "linear");
                this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a](this.state, f, 0, 1, this.options.duration);
                this.now = this.start + (this.end - this.start) * this.pos;
                this.update()
            }
            return true
        }
    };
    c.extend(c.fx, {
        tick: function () {
            for (var a = c.timers, b = 0; b < a.length; b++)a[b]() || a.splice(b--, 1);
            a.length ||
            c.fx.stop()
        }, stop: function () {
            clearInterval(na);
            na = null
        }, speeds: {slow: 600, fast: 200, _default: 400}, step: {
            opacity: function (a) {
                c.style(a.elem, "opacity", a.now)
            }, _default: function (a) {
                if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit; else a.elem[a.prop] = a.now
            }
        }
    });
    if (c.expr && c.expr.filters) c.expr.filters.animated = function (a) {
        return c.grep(c.timers, function (b) {
            return a === b.elem
        }).length
    };
    c.fn.offset = "getBoundingClientRect" in
    v.documentElement ? function (a) {
        var b = this[0];
        if (a)return this.each(function (f) {
            c.offset.setOffset(this, a, f)
        });
        if (!b || !b.ownerDocument)return null;
        if (b === b.ownerDocument.body)return c.offset.bodyOffset(b);
        var e = b.getBoundingClientRect(), g = b.ownerDocument;
        b = g.body;
        g = g.documentElement;
        return {
            top: e.top + (self.pageYOffset || c.support.boxModel && g.scrollTop || b.scrollTop) - (g.clientTop || b.clientTop || 0),
            left: e.left + (self.pageXOffset || c.support.boxModel && g.scrollLeft || b.scrollLeft) - (g.clientLeft || b.clientLeft ||
            0)
        }
    } : function (a) {
        var b = this[0];
        if (a)return this.each(function (y) {
            c.offset.setOffset(this, a, y)
        });
        if (!b || !b.ownerDocument)return null;
        if (b === b.ownerDocument.body)return c.offset.bodyOffset(b);
        c.offset.initialize();
        var e = b.offsetParent, g = b, f = b.ownerDocument, l, k = f.documentElement, s = f.body;
        g = (f = f.defaultView) ? f.getComputedStyle(b, null) : b.currentStyle;
        for (var m = b.offsetTop, r = b.offsetLeft; (b = b.parentNode) && b !== s && b !== k;) {
            if (c.offset.supportsFixedPosition && g.position === "fixed")break;
            l = f ? f.getComputedStyle(b,
                null) : b.currentStyle;
            m -= b.scrollTop;
            r -= b.scrollLeft;
            if (b === e) {
                m += b.offsetTop;
                r += b.offsetLeft;
                if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName))) {
                    m += parseFloat(l.borderTopWidth) || 0;
                    r += parseFloat(l.borderLeftWidth) || 0
                }
                g = e;
                e = b.offsetParent
            }
            if (c.offset.subtractsBorderForOverflowNotVisible && l.overflow !== "visible") {
                m += parseFloat(l.borderTopWidth) || 0;
                r += parseFloat(l.borderLeftWidth) || 0
            }
            g = l
        }
        if (g.position === "relative" || g.position === "static") {
            m += s.offsetTop;
            r += s.offsetLeft
        }
        if (c.offset.supportsFixedPosition && g.position === "fixed") {
            m += Math.max(k.scrollTop, s.scrollTop);
            r += Math.max(k.scrollLeft, s.scrollLeft)
        }
        return {top: m, left: r}
    };
    c.offset = {
        initialize: function () {
            var a = v.body, b = v.createElement("div"), e, g, f, l = parseFloat(c.curCSS(a, "marginTop", true)) || 0;
            c.extend(b.style, {
                position: "absolute",
                top: 0,
                left: 0,
                margin: 0,
                border: 0,
                width: "1px",
                height: "1px",
                visibility: "hidden"
            });
            b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
            a.insertBefore(b, a.firstChild);
            e = b.firstChild;
            g = e.firstChild;
            f = e.nextSibling.firstChild.firstChild;
            this.doesNotAddBorder = g.offsetTop !== 5;
            this.doesAddBorderForTableAndCells = f.offsetTop === 5;
            g.style.position = "fixed";
            g.style.top = "20px";
            this.supportsFixedPosition = g.offsetTop === 20 || g.offsetTop === 15;
            g.style.position = g.style.top = "";
            e.style.overflow = "hidden";
            e.style.position = "relative";
            this.subtractsBorderForOverflowNotVisible = g.offsetTop === -5;
            this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== l;
            a.removeChild(b);
            c.offset.initialize = c.noop
        }, bodyOffset: function (a) {
            var b = a.offsetTop, e = a.offsetLeft;
            c.offset.initialize();
            if (c.offset.doesNotIncludeMarginInBodyOffset) {
                b += parseFloat(c.curCSS(a, "marginTop", true)) || 0;
                e += parseFloat(c.curCSS(a, "marginLeft", true)) || 0
            }
            return {top: b, left: e}
        }, setOffset: function (a, b, e) {
            if (/static/.test(c.curCSS(a, "position"))) a.style.position = "relative";
            var g = c(a), f = g.offset(), l = parseInt(c.curCSS(a, "top", true), 10) || 0,
                k = parseInt(c.curCSS(a, "left", true), 10) || 0;
            if (c.isFunction(b)) b = b.call(a,
                e, f);
            e = {top: b.top - f.top + l, left: b.left - f.left + k};
            "using" in b ? b.using.call(a, e) : g.css(e)
        }
    };
    c.fn.extend({
        position: function () {
            if (!this[0])return null;
            var a = this[0], b = this.offsetParent(), e = this.offset(),
                g = /^body|html$/i.test(b[0].nodeName) ? {top: 0, left: 0} : b.offset();
            e.top -= parseFloat(c.curCSS(a, "marginTop", true)) || 0;
            e.left -= parseFloat(c.curCSS(a, "marginLeft", true)) || 0;
            g.top += parseFloat(c.curCSS(b[0], "borderTopWidth", true)) || 0;
            g.left += parseFloat(c.curCSS(b[0], "borderLeftWidth", true)) || 0;
            return {
                top: e.top -
                g.top, left: e.left - g.left
            }
        }, offsetParent: function () {
            return this.map(function () {
                for (var a = this.offsetParent || v.body; a && !/^body|html$/i.test(a.nodeName) && c.css(a, "position") === "static";)a = a.offsetParent;
                return a
            })
        }
    });
    c.each(["Left", "Top"], function (a, b) {
        var e = "scroll" + b;
        c.fn[e] = function (g) {
            var f = this[0], l;
            if (!f)return null;
            if (g !== j)return this.each(function () {
                if (l = V(this)) l.scrollTo(!a ? g : c(l).scrollLeft(), a ? g : c(l).scrollTop()); else this[e] = g
            }); else return (l = V(f)) ? "pageXOffset" in l ? l[a ? "pageYOffset" : "pageXOffset"] :
                c.support.boxModel && l.document.documentElement[e] || l.document.body[e] : f[e]
        }
    });
    c.each(["Height", "Width"], function (a, b) {
        var e = b.toLowerCase();
        c.fn["inner" + b] = function () {
            return this[0] ? c.css(this[0], e, false, "padding") : null
        };
        c.fn["outer" + b] = function (g) {
            return this[0] ? c.css(this[0], e, false, g ? "margin" : "border") : null
        };
        c.fn[e] = function (g) {
            var f = this[0];
            if (!f)return g == null ? null : this;
            if (c.isFunction(g))return this.each(function (l) {
                var k = c(this);
                k[e](g.call(this, l, k[e]()))
            });
            return "scrollTo" in f && f.document ?
                f.document.compatMode === "CSS1Compat" && f.document.documentElement["client" + b] || f.document.body["client" + b] : f.nodeType === 9 ? Math.max(f.documentElement["client" + b], f.body["scroll" + b], f.documentElement["scroll" + b], f.body["offset" + b], f.documentElement["offset" + b]) : g === j ? c.css(f, e) : this.css(e, typeof g === "string" ? g : g + "px")
        }
    });
    p.jQuery = p.$ = c
})(window);
jQuery.easing.jswing = jQuery.easing.swing;
jQuery.extend(jQuery.easing, {
    def: "easeOutQuad", swing: function (p, j, u, t, o) {
        return jQuery.easing[jQuery.easing.def](p, j, u, t, o)
    }, easeInQuad: function (p, j, u, t, o) {
        return t * (j /= o) * j + u
    }, easeOutQuad: function (p, j, u, t, o) {
        return -t * (j /= o) * (j - 2) + u
    }, easeInOutQuad: function (p, j, u, t, o) {
        if ((j /= o / 2) < 1)return t / 2 * j * j + u;
        return -t / 2 * (--j * (j - 2) - 1) + u
    }, easeInCubic: function (p, j, u, t, o) {
        return t * (j /= o) * j * j + u
    }, easeOutCubic: function (p, j, u, t, o) {
        return t * ((j = j / o - 1) * j * j + 1) + u
    }, easeInOutCubic: function (p, j, u, t, o) {
        if ((j /= o / 2) < 1)return t /
            2 * j * j * j + u;
        return t / 2 * ((j -= 2) * j * j + 2) + u
    }, easeInQuart: function (p, j, u, t, o) {
        return t * (j /= o) * j * j * j + u
    }, easeOutQuart: function (p, j, u, t, o) {
        return -t * ((j = j / o - 1) * j * j * j - 1) + u
    }, easeInOutQuart: function (p, j, u, t, o) {
        if ((j /= o / 2) < 1)return t / 2 * j * j * j * j + u;
        return -t / 2 * ((j -= 2) * j * j * j - 2) + u
    }, easeInQuint: function (p, j, u, t, o) {
        return t * (j /= o) * j * j * j * j + u
    }, easeOutQuint: function (p, j, u, t, o) {
        return t * ((j = j / o - 1) * j * j * j * j + 1) + u
    }, easeInOutQuint: function (p, j, u, t, o) {
        if ((j /= o / 2) < 1)return t / 2 * j * j * j * j * j + u;
        return t / 2 * ((j -= 2) * j * j * j * j + 2) + u
    }, easeInSine: function (p,
                             j, u, t, o) {
        return -t * Math.cos(j / o * (Math.PI / 2)) + t + u
    }, easeOutSine: function (p, j, u, t, o) {
        return t * Math.sin(j / o * (Math.PI / 2)) + u
    }, easeInOutSine: function (p, j, u, t, o) {
        return -t / 2 * (Math.cos(Math.PI * j / o) - 1) + u
    }, easeInExpo: function (p, j, u, t, o) {
        return j == 0 ? u : t * Math.pow(2, 10 * (j / o - 1)) + u
    }, easeOutExpo: function (p, j, u, t, o) {
        return j == o ? u + t : t * (-Math.pow(2, -10 * j / o) + 1) + u
    }, easeInOutExpo: function (p, j, u, t, o) {
        if (j == 0)return u;
        if (j == o)return u + t;
        if ((j /= o / 2) < 1)return t / 2 * Math.pow(2, 10 * (j - 1)) + u;
        return t / 2 * (-Math.pow(2, -10 * --j) + 2) + u
    },
    easeInCirc: function (p, j, u, t, o) {
        return -t * (Math.sqrt(1 - (j /= o) * j) - 1) + u
    }, easeOutCirc: function (p, j, u, t, o) {
        return t * Math.sqrt(1 - (j = j / o - 1) * j) + u
    }, easeInOutCirc: function (p, j, u, t, o) {
        if ((j /= o / 2) < 1)return -t / 2 * (Math.sqrt(1 - j * j) - 1) + u;
        return t / 2 * (Math.sqrt(1 - (j -= 2) * j) + 1) + u
    }, easeInElastic: function (p, j, u, t, o) {
        p = 1.70158;
        var z = 0, G = t;
        if (j == 0)return u;
        if ((j /= o) == 1)return u + t;
        z || (z = o * 0.3);
        if (G < Math.abs(t)) {
            G = t;
            p = z / 4
        } else p = z / (2 * Math.PI) * Math.asin(t / G);
        return -(G * Math.pow(2, 10 * (j -= 1)) * Math.sin((j * o - p) * 2 * Math.PI / z)) + u
    }, easeOutElastic: function (p,
                                 j, u, t, o) {
        p = 1.70158;
        var z = 0, G = t;
        if (j == 0)return u;
        if ((j /= o) == 1)return u + t;
        z || (z = o * 0.3);
        if (G < Math.abs(t)) {
            G = t;
            p = z / 4
        } else p = z / (2 * Math.PI) * Math.asin(t / G);
        return G * Math.pow(2, -10 * j) * Math.sin((j * o - p) * 2 * Math.PI / z) + t + u
    }, easeInOutElastic: function (p, j, u, t, o) {
        p = 1.70158;
        var z = 0, G = t;
        if (j == 0)return u;
        if ((j /= o / 2) == 2)return u + t;
        z || (z = o * 0.3 * 1.5);
        if (G < Math.abs(t)) {
            G = t;
            p = z / 4
        } else p = z / (2 * Math.PI) * Math.asin(t / G);
        if (j < 1)return -0.5 * G * Math.pow(2, 10 * (j -= 1)) * Math.sin((j * o - p) * 2 * Math.PI / z) + u;
        return G * Math.pow(2, -10 * (j -= 1)) * Math.sin((j *
                o - p) * 2 * Math.PI / z) * 0.5 + t + u
    }, easeInBack: function (p, j, u, t, o, z) {
        if (z == undefined) z = 1.70158;
        return t * (j /= o) * j * ((z + 1) * j - z) + u
    }, easeOutBack: function (p, j, u, t, o, z) {
        if (z == undefined) z = 1.70158;
        return t * ((j = j / o - 1) * j * ((z + 1) * j + z) + 1) + u
    }, easeInOutBack: function (p, j, u, t, o, z) {
        if (z == undefined) z = 1.70158;
        if ((j /= o / 2) < 1)return t / 2 * j * j * (((z *= 1.525) + 1) * j - z) + u;
        return t / 2 * ((j -= 2) * j * (((z *= 1.525) + 1) * j + z) + 2) + u
    }, easeInBounce: function (p, j, u, t, o) {
        return t - jQuery.easing.easeOutBounce(p, o - j, 0, t, o) + u
    }, easeOutBounce: function (p, j, u, t, o) {
        return (j /=
            o) < 1 / 2.75 ? t * 7.5625 * j * j + u : j < 2 / 2.75 ? t * (7.5625 * (j -= 1.5 / 2.75) * j + 0.75) + u : j < 2.5 / 2.75 ? t * (7.5625 * (j -= 2.25 / 2.75) * j + 0.9375) + u : t * (7.5625 * (j -= 2.625 / 2.75) * j + 0.984375) + u
    }, easeInOutBounce: function (p, j, u, t, o) {
        if (j < o / 2)return jQuery.easing.easeInBounce(p, j * 2, 0, t, o) * 0.5 + u;
        return jQuery.easing.easeOutBounce(p, j * 2 - o, 0, t, o) * 0.5 + t * 0.5 + u
    }
});
(function (p) {
    function j(t) {
        for (var o = ["transform", "WebkitTransform", "MozTransform"],
                 z; z = o.shift();)if (typeof t.style[z] != "undefined")return z;
        return "transform"
    }

    var u = p.fn.css;
    p.fn.css = function (t) {
        if (typeof p.props.transform == "undefined" && (t == "transform" || typeof t == "object" && typeof t.transform != "undefined")) p.props.transform = j(this.get(0));
        if (t == "transform") t = p.props.transform;
        return u.apply(this, arguments)
    }
})(jQuery);
(function (p) {
    var j = "deg";
    p.fn.rotate = function (o) {
        var z = p(this).css("transform") || "none";
        if (typeof o == "undefined") {
            if (z)if ((o = z.match(/rotate\(([^)]+)\)/)) && o[1])return o[1];
            return 0
        }
        if (o = o.toString().match(/^(-?\d+(\.\d+)?)(.+)?$/)) {
            if (o[3]) j = o[3];
            p(this).css("transform", z.replace(/none|rotate\([^)]*\)/, "") + "rotate(" + o[1] + j + ")")
        }
    };
    p.fn.scale = function (o) {
        var z = p(this).css("transform");
        if (typeof o == "undefined") {
            if (z)if ((o = z.match(/scale\(([^)]+)\)/)) && o[1])return o[1];
            return 1
        }
        p(this).css("transform",
            z.replace(/none|scale\([^)]*\)/, "") + "scale(" + o + ")")
    };
    var u = p.fx.prototype.cur;
    p.fx.prototype.cur = function () {
        if (this.prop == "rotate")return parseFloat(p(this.elem).rotate()); else if (this.prop == "scale")return parseFloat(p(this.elem).scale());
        return u.apply(this, arguments)
    };
    p.fx.step.rotate = function (o) {
        p(o.elem).rotate(o.now + j)
    };
    p.fx.step.scale = function (o) {
        p(o.elem).scale(o.now)
    };
    var t = p.fn.animate;
    p.fn.animate = function (o) {
        if (typeof o.rotate != "undefined") {
            var z = o.rotate.toString().match(/^(([+-]=)?(-?\d+(\.\d+)?))(.+)?$/);
            if (z && z[5]) j = z[5];
            o.rotate = z[1]
        }
        return t.apply(this, arguments)
    }
})(jQuery);
(function (p) {
    p.fn.quicksand = function (j, u, t) {
        var o = {
            duration: 750,
            easing: "swing",
            attribute: "data-id",
            adjustHeight: "auto",
            useScaling: true,
            enhancement: function () {
            },
            selector: "> *"
        };
        p.extend(o, u);
        if (p.browser.msie || typeof p.fn.scale == "undefined") o.useScaling = false;
        var z;
        if (typeof u == "function") z = u; else if (typeof(t == "function")) z = t;
        return this.each(function (G) {
            var U, R = [], S = p(j).clone(), L = p(this);
            G = p(this).css("height");
            var Z, ea = false, fa = p(L).offset(), T = [], V = p(this).find(o.selector);
            if (p.browser.msie && p.browser.version.substr(0,
                    1) < 7) L.html("").append(S); else {
                var c = 0, oa = function () {
                    if (!c) {
                        L.html(N.html());
                        typeof z == "function" && z.call(this);
                        ea && L.css("height", Z);
                        o.enhancement(L);
                        c = 1
                    }
                }, J = L.offsetParent(), v = J.offset();
                if (J.css("position") == "relative") {
                    if (J.get(0).nodeName.toLowerCase() != "body") {
                        v.top += parseFloat(J.css("border-top-width"));
                        v.left += parseFloat(J.css("border-left-width"))
                    }
                } else {
                    v.top -= parseFloat(J.css("border-top-width"));
                    v.left -= parseFloat(J.css("border-left-width"));
                    v.top -= parseFloat(J.css("margin-top"));
                    v.left -=
                        parseFloat(J.css("margin-left"))
                }
                L.css("height", p(this).height());
                V.each(function (K) {
                    T[K] = p(this).offset()
                });
                p(this).stop();
                V.each(function (K) {
                    p(this).stop();
                    var M = p(this).get(0);
                    M.style.position = "absolute";
                    M.style.margin = "0";
                    M.style.top = T[K].top - parseFloat(M.style.marginTop) - v.top + "px";
                    M.style.left = T[K].left - parseFloat(M.style.marginLeft) - v.left + "px"
                });
                var N = p(L).clone();
                J = N.get(0);
                J.innerHTML = "";
                J.setAttribute("id", "");
                J.style.height = "auto";
                J.style.width = L.width() + "px";
                N.append(S);
                N.insertBefore(L);
                N.css("opacity", 0);
                J.style.zIndex = -1;
                J.style.margin = "0";
                J.style.position = "absolute";
                J.style.top = fa.top - v.top + "px";
                J.style.left = fa.left - v.left + "px";
                if (o.adjustHeight === "dynamic") L.animate({height: N.height()}, o.duration, o.easing); else if (o.adjustHeight === "auto") {
                    Z = N.height();
                    if (parseFloat(G) < parseFloat(Z)) L.css("height", Z); else ea = true
                }
                V.each(function () {
                    var K = [];
                    if (typeof o.attribute == "function") {
                        U = o.attribute(p(this));
                        S.each(function () {
                            if (o.attribute(this) == U) {
                                K = p(this);
                                return false
                            }
                        })
                    } else K = S.filter("[" +
                        o.attribute + "=" + p(this).attr(o.attribute) + "]");
                    if (K.length) o.useScaling ? R.push({
                        element: p(this),
                        animation: {
                            top: K.offset().top - v.top,
                            left: K.offset().left - v.left,
                            opacity: 1,
                            scale: "1.0"
                        }
                    }) : R.push({
                        element: p(this),
                        animation: {top: K.offset().top - v.top, left: K.offset().left - v.left, opacity: 1}
                    }); else o.useScaling ? R.push({
                        element: p(this),
                        animation: {opacity: "0.0", scale: "0.0"}
                    }) : R.push({element: p(this), animation: {opacity: "0.0"}})
                });
                S.each(function () {
                    var K = [], M = [];
                    if (typeof o.attribute == "function") {
                        U = o.attribute(p(this));
                        V.each(function () {
                            if (o.attribute(this) == U) {
                                K = p(this);
                                return false
                            }
                        });
                        S.each(function () {
                            if (o.attribute(this) == U) {
                                M = p(this);
                                return false
                            }
                        })
                    } else {
                        K = V.filter("[" + o.attribute + "=" + p(this).attr(o.attribute) + "]");
                        M = S.filter("[" + o.attribute + "=" + p(this).attr(o.attribute) + "]")
                    }
                    var ka;
                    if (K.length === 0) {
                        ka = o.useScaling ? {opacity: "1.0", scale: "1.0"} : {opacity: "1.0"};
                        d = M.clone();
                        var $ = d.get(0);
                        $.style.position = "absolute";
                        $.style.margin = "0";
                        $.style.top = M.offset().top - v.top + "px";
                        $.style.left = M.offset().left - v.left + "px";
                        d.css("opacity", 0);
                        o.useScaling && d.css("transform", "scale(0.0)");
                        d.appendTo(L);
                        R.push({element: p(d), animation: ka})
                    }
                });
                N.remove();
                o.enhancement(L);
                for (G = 0; G < R.length; G++)R[G].element.animate(R[G].animation, o.duration, o.easing, oa)
            }
        })
    }
})(jQuery);
